# changelog

author: detlef.steuer@gmx.de
changelog:
  - Upstream release 3.0.3
  - Most important
    CHANGES IN R 3.0.3:
    NEW FEATURES:
    * On Windows there is support for making .texi manuals using
      texinfo 5.0 or later: the setting is in file
      src/gnuwin32/MkRules.dist.
      A packaging of the Perl script and modules for texinfo 5.2 has
      been made available at <URL:
      http://www.stats.ox.ac.uk/pub/Rtools/>.
    * write.table() now handles matrices of 2^31 or more elements, for
      those with large amounts of patience and disc space.
    * There is a new function, La_version(), to report the version of
      LAPACK in use.
    * The HTML version of 'An Introduction to R' now has links to PNG
      versions of the figures.
    * There is some support to produce manuals in ebook formats. (See
      doc/manual/Makefile.  Suggested by Mauro Cavalcanti.)
    * On a Unix-alike Sys.timezone() returns NA if the environment
      variable TZ is unset, to distinguish it from an empty string
      which on some OSes means the UTC time zone.
    * The backtick may now be escaped in strings, to allow names
      containing them to be constructed, e.g. `\``.  (PR#15621)
    * read.table(), readLines() and scan() now warn when an embedded
      nul is found in the input.  (Related to PR#15625 which was
      puzzled by the behaviour in this unsupported case.)
    * (Windows only.)  file.symlink() works around the undocumented
      restriction of the Windows system call to backslashes.  (Wish of
      PR#15631.)
    * KalmanForecast(fast = FALSE) is now the default, and the help
      contains an example of how fast = TRUE can be used in this
      version.  (The usage will change in 3.1.0.)
    * strptime() now checks the locale only when locale-specific
      formats are used and caches the locale in use: this can halve the
      time taken on OSes with slow system functions (e.g. OS X).
    * strptime() and the format() methods for classes "POSIXct",
      "POSIXlt" and "Date" recognize strings with marked encodings:
      this allows, for example, UTF-8 French month names to be read on
      (French) Windows.
    * iconv(to = "utf8") is now accepted on all platforms (some
      implementations did already, but GNU libiconv did not: however
      converted strings were not marked as being in UTF-8).  The
      official name, "UTF-8" is still preferred.
    * available.packages() is better protected against corrupt metadata
      files.  (A recurring problem with Debian package shogun-r:
      PR#14713.)
    * Finalizers are marked to be run at garbage collection, but run
      only at a somewhat safer later time (when interrupts are
      checked).  This circumvents some problems with finalizers running
      arbitrary code during garbage collection (the known instances
      being running options() and (C-level) path.expand()
      re-entrantly).


author: detlef.steuer@gmx.de
changelog:
  - Upstream release 3.1.0
  - Most impotant
    CHANGES IN R 3.1.0:
    NEW FEATURES:
    * type.convert() (and hence by default read.table()) returns a
      character vector or factor when representing a numeric input as a
      double would lose accuracy.  Similarly for complex inputs.
      If a file contains numeric data with unrepresentable numbers of
      decimal places that are intended to be read as numeric, specify
      colClasses in read.table() to be "numeric".
    * tools::Rdiff(useDiff = FALSE) is closer to the POSIX definition
      of diff -b (as distinct from the description in the man pages of
      most systems).
    * New function anyNA(), a version of any(is.na(.)) which is fast
      for atomic vectors, based on a proposal by Tim Hesterberg. (Wish
      of PR#15239.)
    * arrayInd(*, useNames = TRUE) and, analogously, which(*, arr.ind =
      TRUE) now make use of names(.dimnames) when available.
    * is.unsorted() now also works for raw vectors.
    * The "table" method for as.data.frame() (also useful as
      as.data.frame.table()) now passes sep and base arguments to
      provideDimnames().
    * uniroot() gets new optional arguments, notably extendInt,
      allowing to auto-extend the search interval when needed.  The
      return value has an extra component, init.it.
    * switch(f, ...) now warns when f is a factor, as this typically
      happens accidentally where the useR meant to pass a character
      string, but f is treated as integer (as always documented).
    * The parser has been modified to use less memory.
    * The way the unary operators (+ - !) handle attributes is now more
      consistent.  If there is no coercion, all attributes (including
      class) are copied from the input to the result: otherwise only
      names, dims and dimnames are.
    * colorRamp() and colorRampPalette() now allow non-opaque colours
      and a ramp in opacity via the new argument alpha = TRUE.
      (Suggested by Alberto Krone-Martins, but optionally as there are
      existing uses which expect only RGB values.)
    * grid.show.layout() and grid.show.viewport() get an optional vp.ex
      argument.
    * There is a new function find_gs_cmd() in the tools package to
      locate a GhostScript executable.  (This is an enhanced version of
      a previously internal function there.)
    * object.size() gains a format() method.
    * There is a new family, "ArialMT", for the pdf() and postscript()
      devices.  This will only be rendered correctly on viewers which
      have access to Monotype TrueType fonts (which are sometimes
      requested by journals).
    * The text and PDF news files, including NEWS and NEWS.2, have been
      moved to the doc directory.
    * combn(x, simplify = TRUE) now gives a factor result for factor
      input x (previously user error).  (Related to PR#15442.)
    * Added utils::fileSnapshot() and utils::changedFiles() functions
      to allow snapshots and comparison of directories of files.
    * make.names(names, unique=TRUE) now tries to preserve existing
      names. (Suggestion of PR#15452.)
    * New functions cospi(x), sinpi(x), and tanpi(x), for more accurate
      computation of cos(pi*x), etc, both in R and the C API.  Using
      these gains accuracy in some cases, e.g., inside lgamma() or
      besselI().  (Suggested by Morten Welinder in PR#15529.)
    * print.table(x, zero.print = ".") now also has an effect when x is
      not integer-valued.
    * There is more support to explore the system's idea of time-zone
      names.  Sys.timezone() tries to give the current system setting
      by name (and succeeds at least on Linux, OS X, Solaris and
      Windows), and OlsonNames() lists the names in the system's Olson
      database. Sys.timezone(location = FALSE) gives the previous
      behaviour.
    * Platforms with a 64-bit time_t type are allowed to handle
      conversions between the "POSIXct" and "POSIXlt" classes for
      date-times outside the 32-bit range (before 1902 or after 2037):
      the existing workarounds are used on other platforms.  (Note that
      time-zone information for post-2037 is speculative at best, and
      the OS services are tested for known errors and so not used on OS
      X.)
      Currently time_t is usually long and hence 64-bit on Unix-alike
      64-bit platforms: however it several cases the time-zone database
      is 32-bit.  On R for Windows it is 64-bit (for both architectures
      as from this version).
    * The "save.defaults" option can include a value for
      compression_level.  (Wish of PR#15579.)
    * colSums() and friends now have support for arrays and data-frame
      columns with 2^31 or more elements.
    * as.factor() is faster when f is an unclassed integer vector (for
      example, when called from tapply()).
    * fft() now works with longer inputs, from the 12 million
      previously supported up to 2 billion.  (PR#15593)
    * Complex svd() now uses LAPACK subroutine ZGESDD, the complex
      analogue of the routine used for the real case.
    * Sweave now outputs .tex files in UTF-8 if the input encoding is
      declared to be UTF-8, regardless of the local encoding.  The
      UTF-8 encoding may now be declared using a LaTeX comment
      containing the string %\SweaveUTF8 on a line by itself.
    * file.copy() gains a copy.date argument.
    * Printing of date-times will make use of the time-zone
      abbreviation in use at the time, if known.  For example, for
      Paris pre-1940 this could be LMT, PMT, WET or WEST.  To enable
      this, the "POSIXlt" class has an optional component "zone"
      recording the abbreviation for each element.
      For platforms which support it, there is also a component
      "gmtoff" recording the offset from GMT where known.
    * (On Windows, by default on OS X and optionally elsewhere.)  The
      system C function strftime has been replaced by a more
      comprehensive version with closer conformance to the POSIX 2008
      standard.
    * dnorm(x, log = FALSE) is more accurate (but somewhat slower) for
      |x| > 5; as suggested in PR#15620.
    * Some versions of the tiff() device have further compression
      options.
    * read.table(), readLines() and scan() have a new argument to
      influence the treatment of embedded nuls.
    * Avoid duplicating the right hand side values in complex
      assignments when possible.  This reduces copying of replacement
      values in expressions such as Z$a <- a0 and ans[[i]] <- tmp: some
      package code has relied on there being copies.
      Also, a number of other changes to reduce copying of objects; all
      contributed by or based on suggestions by Michael Lawrence.
    * The fast argument of KalmanLike(), KalmanRun() and
      KalmanForecast() has been replaced by update, which instead of
      updating mod in place, optionally returns the updated model in an
      attribute "mod" of the return value.
    * arima() and makeARIMA() get a new optional argument SSinit,
      allowing the choice of a different *s*tate *s*pace initialization
      which has been observed to be more reliable close to
      non-stationarity: see PR#14682.
    * warning() has a new argument noBreaks., to simplify
      post-processing of output with options(warn = 1).
    * pushBack() gains an argument encoding, to support reading of
      UTF-8 characters using scan(), read.table() and related functions
      in a non-UTF-8 locale.
    * all.equal.list() gets a new argument use.names which by default
      labels differing components by names (if they match) rather than
      by integer index.  Saved R output in packages may need to be
      updated.
    * The methods for all.equal() and attr.all.equal() now have
      argument check.attributes after ... so it cannot be partially nor
      positionally matched (as it has been, unintentionally).
      A side effect is that some previously undetected errors of
      passing empty arguments (no object between commas) to all.equal()
      are detected and reported.
      There are explicit checks that check.attributes is logical,
      tolerance is numeric and scale is NULL or numeric.  This catches
      some unintended positional matching.
      The message for all.equal.numeric() reports a "scaled difference"
      only for scale != 1.
    * all.equal() now has a "POSIXt" method replacing the "POSIXct"
      method.
    * The "Date" and "POSIXt" methods of seq() allows by = "quarter"
      for completeness (by = "3 months" always worked).
    * file.path() removes any trailing separator on Windows, where they
      are invalid (although sometimes accepted).  This is intended to
      enhance the portability of code written by those using POSIX file
      systems (where a trailing / can be used to confine path matching
      to directories).
    * New function agrepl() which like grepl() returns a logical
      vector.
    * fifo() is now supported on Windows. (PR#15600)
    * sort.list(method = "radix") now allows negative integers (wish of
      PR#15644).
    * Some functionality of print.ts() is now available in
      .preformat.ts() for more modularity.
    * mcparallel() gains an option detach = TRUE which allows execution
      of code independently of the current session.  It is based on a
      new estranged = TRUE argument to mcfork() which forks child
      processes such that they become independent of the parent
      process.
    * The pdf() device omits circles and text at extremely small sizes,
      since some viewers were failing on such files.
    * The rightmost break for the "months", "quarters" and "years"
      cases of hist.POSIXlt() has been increased by a day.  (Inter
      alia, fixes PR#15717.)
    * The handling of DF[i,] <- a where i is of length 0 is improved.
      (Inter alia, fixes PR#15718.)
    * hclust() gains a new method "ward.D2" which implements Ward's
      method correctly.  The previous "ward" method is "ward.D" now,
      with the old name still working.  Thanks to research and
      proposals by Pierre Legendre.
    * The sunspot.month dataset has been amended and updated from the
      official source, whereas the sunspots and sunspot.year datasets
      will remain immutable. The documentation and source links have
      been updated correspondingly.
    * The summary() method for "lm" fits warns if the fit is
      essentially perfect, as most of the summary may be computed
      inaccurately (and with platform-dependent values).
      Programmers who use summary() in order to extract just a
      component which will be reliable (e.g. $cov.unscaled) should wrap
      their calls in suppressWarnings().
    INSTALLATION and INCLUDED SOFTWARE:
    * The included version of LAPACK has been updated to 3.5.0.
    * There is some support for parallel testing of an installation, by
      setting TEST_MC_CORES to an integer greater than one to indicate
      the maximum number of cores to be used in parallel. (It is worth
      specifying at least 8 cores if available.)  Most of these require
      a make program (such as GNU make and dmake) which supports the
      $MAKE -j nproc syntax.
      Except on Windows: the tests of standard package examples in make
      check are done in parallel.  This also applies to running
      tools::testInstalledPackages().
      The more time-consuming regression tests are done in parallel.
      The package checks in make check-devel and make check-recommended
      are done in parallel.
    * More of make check will work if recommended packages are not
      installed: but recommended packages remain needed for thorough
      checking of an R build.
    * The version of tzcode included in src/extra/tzone has been
      updated.  (Formerly used only on Windows.)
    * The included (64-bit) time-zone conversion code and Olson
      time-zone database can be used instead of the system version: use
      configure option --with-internal-tzcode.  This is the default on
      Windows and OS X.  (Note that this does not currently work if a
      non-default rsharedir configure variable is used.)
      (It might be necessary to set environment variable TZ on OSes
      where this is not already set, although the system timezone is
      deduced correctly on at least Linux, OS X and Windows.)
      This option also switches to the version of strftime included in
      directory src/extra/tzone.
    * configure now tests for a C++11-compliant compiler by testing
      some basic features.  This by default tries flags for the
      compiler specified by CXX, but an alternative compiler, options
      and standard can be specified by variables CXX1X, CXX1XFLAGS and
      CXX1XSTD (e.g. -std=gnu++11).
    * R can now optionally be compiled to use reference counting
      instead of the NAMED mechanism by defining SWITCH_TO_REFCNT in
      Rinternals.h. This may become the default in the future.
    * There is a new option --use-system-tre to use a suitable system
      tre library: at present this means a version from their git
      repository, after corrections.  (Wish of PR#15660.)


author: darin@darins.net
changelog:
  - Created symlink to %{_bindir}/r
    Many CRAN packages ship with scripts which call %{_bindir}/r,
    which creates a dependency on it, this fixes that.


author: detlef.steuer@gmx.de
changelog:
  - Removed / commented out symlink to %{_bindir}/r
    new package 'littler' should be used instead for packages
    that need /usr/bin/r


author: detlef.steuer@gmx.de
changelog:
  - Added Provides: R-parallel
  - Upstream release 3.1.1
  - Most impotant
    CHANGES IN R 3.1.1:
    CHANGES IN R 3.1.1:
    NEW FEATURES:
    * When attach() reports conflicts, it does so compatibly with
      library() by using message().
    * R CMD Sweave no longer cleans any files by default, compatibly
      with versions of R prior to 3.1.0.  There are new options
    - -clean, --clean=default and --clean=keepOuts.
    * tools::buildVignette() and tools::buildVignettes() with clean =
      FALSE no longer remove any created files.  buildvignette() gains
      a keep argument for more cleaning customization.
    * The Bioconductor 'version' used by setRepositories() can now be
      set by environment variable R_BIOC_VERSION at runtime, not just
      when R is installed.  (It has been stated that Bioconductor will
      switch from 'version' 2.14 to 'version' 3.0 during the lifetime
      of the R 3.1 series.)
    * Error messages from bugs in embedded Sexpr code in Sweave
      documents now report the source location.
    * type.convert(), read.table() and similar read.*() functions get a
      new numerals argument, specifying how numeric input is converted
      when its conversion to double precision loses accuracy.  The
      default value, "allow.loss" allows accuracy loss, as in R
      versions before 3.1.0.
    * For some compilers, integer addition could overflow without a
      warning.  R's internal code for both integer addition and
      subtraction is more robust now.  (PR#15774)
    * The function determining the default number of knots for
      smooth.spline() is now exported, as .nknots.smspl().
    * dbeta(, a,b), pbeta(), qbeta() and rbeta() are now defined also
      for a = 0, b = 0, or infinite a and b (where they typically
      returned NaN before).
    * Many package authors report that the RStudio graphics device does
      not work correctly with their package's use of dev.new().  The
      new option dev.new(noRStudioGD = TRUE) replaces the RStudio
      override by the default device as selected by R itself, still
      respecting environment variables R_INTERACTIVE_DEVICE and
      R_DEFAULT_DEVICE.
    * readRDS() now returns visibly.
    * Modifying internal logical scalar constants now results in an
      error instead of a warning.
    * install.packages(repos = NULL) now accepts http:// or ftp:// URLs
      of package archives as well as file paths, and will download as
      required.  In most cases repos = NULL can be deduced from the
      extension of the URL.
    * The warning when using partial matching with the $ operator on
      data frames is now only given when
      options("warnPartialMatchDollar") is TRUE.
    * Package help requests like package?foo now try the package foo
      whether loaded or not.
    * General help requests now default to trying all loaded packages,
      not just those on the search path.
    * Added a new function promptImport(), to generate a help page for
      a function that was imported from another package (and presumably
      re-exported, or help would not be needed).
    INSTALLATION and INCLUDED SOFTWARE:
    * configure option --with-internal-tzcode can now be used with
      variable rsharedir.
    * The included version of PCRE has been updated to 8.35.
    * There is a new target make uninstall-libR to remove an installed
      shared/static libR.
      make install-libR now works if a sub-architecture is used,
      although the user will need to specify libdir differently for
      different sub-architectures.
    * There is more extensive advice on which LaTeX packages are
      required to install R or to make package manuals (as done by R
      CMD check) in the 'Writing R Extensions' manual.
    * Compilers/linkers were handling the visibility controls in
      src/extra/xz inconsistently (and apparently in some cases
      incorrectly), so it has been simplified.  (PR#15327)
    * (Windows) There is updated support for the use of ICU for
      collation: see the 'R Installation and Administration Manual'.
    BUG FIXES:
    * dbinom(x, n), pbinom(), dpois(), etc, are slightly less
      restrictive in checking if n is integer-valued.  (Wish of
      PR#15734.)
    * pchisq(x, df, ncp, log.p = TRUE) is more accurate and no longer
      underflows for small x and ncp < 80, e.g, for pchisq(1e-5, df =
      100, ncp = 1, log = TRUE).  (Based on PR#15635 and a suggestion
      by Roby Joehanes.)
    * The s ("step into") command in the debugger would cause R to step
      into expressions evaluated there, not just into functions being
      debugged.  (PR#15770)
    * The C code used by strptime() rejected time-zone offsets of more
      than +1200 (+1245, +1300 and +1400 can occur).  (PR#15768)
    * (Windows only.)  png(type = "cairo", antialias = "gray") was not
      accepted.  (PR#15760)
    * Use of save(..., envir=) with named objects could fail.
      (PR#15758)
    * Sweave() mis-parsed Sexpr expressions that contained backslashes.
      (PR#15779)
    * The return value from options(foo = NULL) was not the previous
      value of the option.  (PR#15781)
    * enc2utf8() and enc2native() did not always mark the encoding of
      the return values when it was known.
    * dnbinom(x, size = <large>, mu, log = TRUE) no longer underflows
      to -Inf for large mu, thanks to a suggestion from Alessandro
      Mammana (MPI MolGen, Berlin).
    * pbeta(x, a, b, log = TRUE) no longer behaves discontinuously (in
      a small x-region) because of denormalized numbers.  Also,
      pbeta(1-1e-12, 1e30, 1.001, log=TRUE) now terminates "in real
      time".
    * The "CRAN" filter (see available.packages()) no longer removes
      duplicates other than of packages on CRAN, and does not fail if
      there is no CRAN repository in getOption("repos").
    * The device listing from dev2bitmap() and bitmap() was truncated
      to 1000 characters: modern versions of GhostScript on most
      platforms have many more devices.
    * (Windows.)  Commands such as Sys.which() and pipe() which needed
      to find the full path to a command could segfault if the 'long'
      path name was much longer than the 'short' path name (which
      Sys.which() returns), as the behaviour of the Windows API call
      had changed.
    * R CMD build will fail with an error if one of the packages
      specified in the VignetteBuilder field is not installed.
      (Without loading those packages it cannot be ascertained which
      files are intended to be vignettes. This means that the
      VignetteBuilder packages have to be installed for package
      checking too.)  (Wish of PR#15775.)
    * Misguided attempts to use chull() with non-finite points now give
      an error (related to PR#15777).
    * For a formula with exactly 32 variables the 32nd variable was
      aliased to the intercept in some C-level computations of terms,
      so that for example attempting to remove it would remove the
      intercept instead (and leave a corrupt internal structure).
      (PR#15735)
    * anyDuplicated() silently returned wrong values when the first
      duplicate was at an index which was too large to be stored in an
      integer vector (although a lot of RAM and patience would have
      been needed to encounter this).
    * tools::Rd2ex(commentDontrun = FALSE) failed if the block had only
      one line.
    * Hexadecimal constants such as 0x110p-5L which were incorrectly
      qualified by L were parsed incorrectly since R 3.0.0, with a
      slightly garbled warning. (PR#15753)
    * system() returned success on some platforms even if the system
      was unable to launch a process. (PR#15796)
    * (Windows Rgui console.)  Unbuffered output was sometimes not
      output immediately if the prompt was not on the last line of the
      console.
    * The built-in help server did not declare the encoding for the
      DESCRIPTION or other text files to be the package encoding, so
      non-ASCII characters could be displayed incorrectly.
    * R is now trying harder to not cleanup child processes that were
      not spawned by mcparallel() on platforms that provide information
      about the source process of the SIGCHLD signal. This allows 3rd
      party libraries to manage the exit status of children that they
      spawn without R interfering.
    * mcmapply() was only parallelizing if the number of jobs was
      bigger than the number of cores. It now parallelizes if the
      number of jobs is more than one.
    * Auto-printing would re-evaluate its argument when trying to
      dispatch to a print method.  This is now avoided when possible.
    * Unserializing (including load() and readRDS()) could silently
      return incorrect numeric values from ASCII saves if there was a
      read error.
    * getParseData() could return incorrect values for the parents of
      some elements. (Reported by Andrew Redd.)
    * Attempting to use data frames of 2^31 or more rows with merge()
      or to create a merged data frame of that size now gives a clearer
      error message.
    * parse() did not check its file argument was a connection if it
      was not a character string, so e.g. parse(FALSE) attempted to
      read from stdin.
      Nor did dump() and dput().
    * The "help.try.all.packages" option was ignored when the shortcut
      syntax for help was used, e.g. ?foo.
    * A potential segfault in string allocation has been fixed.  (Found
      by Radford Neal.)
    * Potential memory protection errors in sort() and D() have been
      fixed. (Found by Radford Neal.)
    * Fixed a lack of error checking in graphics event functions.
      (Found by Radford Neal; a different patch used here than the one
      in pqR.)
    * numericDeriv() sometimes miscalculated the gradient.  (PR#15849,
      reported originally by Radford Neal)


author: detlef.steuer@gmx.de
changelog:
  - Upstream release 3.1.2
  - Most important
    CHANGES IN R 3.1.2:
    NEW FEATURES:
    * embedFonts() now defaults to format = "ps2write" for .ps and .eps
      files.  This is available in Ghostscript 9.x (since 2010) whereas
      the previous default, format = "pswrite", was removed in
      Ghostscript 9.10.
    * For consistency with [dpqr]norm(), [dp]lnorm(sdlog = 0) model a
      point mass at exp(mulog) rather than return NaN (for an error).
    * capabilities() now reports if ICU is compiled in for use for
      collation (it is only actually used if a suitable locale is set
      for collation, and never for a C locale).
    * (OS X only.) Package tcltk checks when loaded if it is linked
      against the CRAN X11-based Tcl/Tk and if so that the Tcl/Tk
      component and the X11 libraries are installed.  This allows more
      informative error messages to be given advising the installation
      of the missing component or of XQuartz.
      The X11() device and X11-based versions of the data editor and
      viewer (invoked by edit() and View() for data frames and matrices
      from command-line R) check that the X11 libraries are installed
      and if not advises installing XQuartz.
    * icuSetCollate() allows locale = "default", and locale = "none" to
      use OS services rather than ICU for collation.
      Environment variable R_ICU_LOCALE can be used to set the default
      ICU locale, in case the one derived from the OS locale is
      inappropriate (this is currently necessary on Windows).
    * New function icuGetCollate() to report on the ICU collation
      locale in use (if any).
    * utils::URLencode() was updated to use unreserved and reserved
      characters from RFC 3986, <URL:
      http://tools.ietf.org/html/rfc3986>, instead of RFC 1738.
    * unique(warnings()) and c(warnings()) are now supported.
    * The Bioconductor 'version' used by setRepositories() now defaults
      to 3.0. (It can be set at runtime _via_ environment variable
      R_BIOC_VERSION.)
    INSTALLATION and INCLUDED SOFTWARE:
    * The configure script reports on the more important
      capabilities/options which will not be compiled in.
      More types of external BLAS are recognized by name in that
      report.
    * When building R as a shared library, the -L${R_HOME}/lib${R_ARCH}
      flag is placed earlier in the link commands used during
      installation and when packages are installed: this helps ensure
      that the current build has priority if an R shared library has
      already been installed by e.g. install-libR in a library
      mentioned in LDFLAGS (and not in 'your system's library
      directory' as documented). (Wish of PR#15790.)
    * LaTeX package upquote is no longer required for R's use of
      inconsolata.
    * (Windows only) If both 32 and 64 bit versions of R are installed,
      the bin/R.exe and bin/Rscript.exe executables now run 64 bit R.
      (To run 32 bit R, overwrite these files with copies of
      bin/i386/Rfe.exe.)
    UTILITIES:
    * Running R CMD check with _R_CHECK_DEPENDS_ONLY_ true now makes
      the VignetteBuilder packages available even if they are listed in
      Suggests, since they are needed to recognise and process
      non-Sweave vignettes.
    * R CMD check now reports empty importFrom declarations in a
      NAMESPACE file, as these are common errors (writing
      importFrom(Pkg) where import(Pkg) was intended).
    * R CMD check now by default checks code usage directly on the
      package namespace without loading and attaching the package and
      its suggests and enhances.  For good practice with packages in
      the Suggests field, see SS1.1.3.1 of 'Writing R Extensions'.  For
      use of lazy-data objects in the package's own code, see ?data.
    BUG FIXES:
    * dmultinom() did not handle non-finite probabilities correctly.
    * prettyNum(x, zero.print=*) now also works when x contains NAs.
    * A longstanding bug exhibited by nlminb() on Windows was traced to
      a compiler bug in gcc 4.6.3; a workaround has been put in place.
      (PR#15244 and PR#15914).
    * Rendering of \command in HTML versions of help pages has been
      improved: this is particularly evident on the help page for
      INSTALL.
    * as.hexmode(x) and as.octmode(x) now behave correctly for some
      numeric x, e.g., c(NA, 1) or c(1, pi).
    * drop1() failed if the scope argument had no variables to drop.
      (PR#15935)
    * edit() (and hence fix()) failed if an object had a non-character
      attribute named "source" (an attribute that had been used in R
      prior to version 2.14.0).
    * callGeneric() could fail if the generic had ... as a formal
      argument. (PR#15937).
    * Forking in package parallel called C entry point exit in the
      child.  This was unsafe (_exit should have been called), and
      could flush stdin of the main R process (seen most often on
      Solaris).
      As good practice, stdout is now flushed before forking a child.
    * R objects such as list(`a\b` = 1) now print correctly.
    * getAnywhere("C_pbinom") now returns correctly a single object
      (rather than unlisting it).
    * The confint() method for nls() fits failed it these has specified
      parameter limits despite using an algorithm other than "port".
      (PR#15960)
    * Subclassing an S4 class failed if the class required arguments to
      the generator, through its initialize() method.
    * removeSource() did not properly handle expressions containing
      arguments that were supplied as missing, e.g.  x[i,]. (PR#15957)
    * as.environment(list()) now works, and as.list() of such an
      environment is now the same as list().
    * Several tcltk functions failed when run in unusual environments.
      (PR#15970)
    * options(list()) now works (trivially). (PR#15979)
    * merge(<dendrogram>, ..) now works correctly for two `independent'
      dendrograms (PR#15648), and still compatibly via adjust = "auto"
      e.g. for two branches of an existing dendrogram.
    * The plot method for "hclust" objects gets an optional argument
      check; When that is true (the default) it checks more carefully
      for valid input.
    * (Windows only) If a user chose to install 64 bit R but not 32 bit
      R, the bin/R and bin/Rscript executables failed to run.
      (PR#15981)
    * Various possible buffer overruns have been prevented, and missed
      memory protection added. (PR#15990)
    * Rscript no longer passes --args to R when there are no extra
      ("user") arguments.
    * objects like getClass("refClass")@prototype now print() and str()
      without error.
    * identical() now also looks at the S4 bit.
    * hist(x, breaks) is more robust in adding a small fuzz to few
      breaks when some are very large. (PR#15988)
    * sub() and gsub() did not handle regular expressions like "\s{2,}"
      properly if the text contained NA or non-ascii elements in a
      UTF-8 locale.  Part of this was due to a bug in the TRE library.
      (PR#16009)
    * RShowDoc("NEWS") now displays the PDF version.
    * Matrices and arrays with last dimension zero did not print at all
      or incompletely.  (PR#16012)
    * plot.histogram() and hence hist() now respect the xaxs, yaxs and
      lab graphics parameters.  (PR#16021)
    * bw.SJ(x) and other bw.*() no longer segfault when x contains
      non-finite values. (PR#16024)
    * R CMD Rd2pdf unintentionally ignored its --os option.
    * The internal method of download.file() was not reporting file
      sizes and progress correctly on files larger than 2GB (inherited
      from libxml2).  This is corrected for 64-bit builds (32-bit
      platforms may not support such files, but where possible will be
      supported in future versions of R).
    * Work around a bug in OS X Yosemite where key environment
      variables may be duplicated causing issues in subprocesses. The
      duplicates are now removed on R startup (via Rprofile).
      (PR#16042)
    * Adjust X11 auto-launch detection in DISPLAY on OS X to recognize
      latest XQuartz.


author: detlef.steuer@gmx.de
changelog:
  - Upstream release 3.1.3
  - Most important
    CHANGES IN R 3.1.3:
    NEW FEATURES:
    * The internal method of download.file() can now handle files
      larger than 2GB on 32-bit builds which support such files (tested
      on 32-bit R running on 64-bit Windows).
    * kruskal.test() warns on more types of suspicious input.
    * The as.dendrogram() method for "hclust" objects gains a check
      argument protecting against memory explosion for invalid inputs.
    * capabilities() has a new item long.double which indicates if the
      build uses a long double type which is longer than double.
    * nlm() no longer modifies the callback argument in place (a new
      vector is allocated for each invocation, which mimics the
      implicit duplication that occurred in R < 3.1.0); note that this
      is a change from the previously documented behavior. (PR#15958)
    * icuSetCollate() now accepts locale = "ASCII" which uses the basic
      C function strcmp and so collates strings byte-by-byte in
      numerical order.
    * sessionInfo() tries to report the OS version in use (not just
      that compiled under, and including details of Linux
      distributions).
    * model.frame() (used by lm() and many other modelling functions)
      now warns when it drops contrasts from factors.  (Wish of
      PR#16119)
    * install.packages() and friends now accept the value type =
      "binary" as a synonym for the native binary type on the platform
      (if it has one).
    * Single source or binary files can be supplied for
      install.packages(type = "both") and the appropriate type and
      repos = NULL will be inferred.
    * New function pcre_config() to report on some of the configuration
      options of the version of PCRE in use.  In particular, this
      reports if regular expressions using \p{xx} are supported.
    * (Windows.) download.file(cacheOK = FALSE) is now supported when
      internet2.dll is used.
    * browseURL() has been updated to work with Firefox 36.0 which has
      dropped support for the -remote interface.
    INSTALLATION and INCLUDED SOFTWARE:
    * The included version of PCRE has been updated to 8.36.
    * configure accepts MAKEINFO=texi2any as another way to ensure
      texinfo 5.x is used when both 5.x and 4.x are installed.
    UTILITIES:
    * R CMD check now checks the packages used in \donttest sections of
      the examples are specified in the DESCRIPTION file.  (These are
      needed to run the examples interactively.)
    * R CMD check checks for the undeclared use of GNU extensions in
      Makefiles, and for Makefiles with a missing final linefeed.
      R CMD build will correct line endings in all Makefiles, not just
      those in the src directory.
    * R CMD check notes uses of library() and require() in package
      code: see the section 'Suggested packages' of 'Writing R
      Extensions' for good practice.
    DEPRECATED AND DEFUNCT:
    * The configure option --with-valgrind-instrumentation=3 is
      deprecated and will be removed in R 3.2.0.
    BUG FIXES:
    * (Windows.) Rscript.exe was missing a manifest specifying the
      modern style for common controls (e.g., the download progress
      bar).
    * If a package had extra documentation files but no vignette, the
      HTML help system produced an empty index page.
    * The parser now gives an error if a null character is included in
      a string using Unicode escapes. (PR#16046)
    * qr.Q() failed on complex arguments due to pre-3.0(!) typo.
      (PR#16054)
    * abs() failed with named arguments when the argument was complex.
      (PR#16047)
    * "noquote" objects may now be used as columns in dataframes.
      (PR#15997)
    * Some values with extremely long names were printed incorrectly.
      (PR#15999)
    * Extremely large exponents on zero expressed in scientific
      notation (e.g. 0.0e50000) could give NaN.  (PR#15976)
    * download.file() reported downloaded sizes as 0KB if less than
      1MB, only for R 3.1.2 and only on big-endian platforms.
    * prompt() did not escape percent signs in the automatically
      generated usage section of help files.
    * drop.terms() dropped some of the attributes of the object it was
      working with.  (PR#16029)
    * (Windows.) The command completion in Rgui.exe messed up the
      console.  (PR#15791)
    * (Windows.) The choose.files() command returned a blank string
      when the user asked for a single file but cancelled the request.
      (PR#16074)
    * Math2 S4 group generics failed to correctly dispatch "structure"-
      and "nonStructure"-derived classes.
    * loadNamespace() imposed undocumented restrictions on the
      versionCheck parameter.  (Reported by Geoff Lee.)
    * Rare over-runs detected by AddressSanitizer in substr() and its
      replacement version have been avoided.
      _Inter alia_ that fix gives the documented behaviour for
      substr(x, 1, 2) <- "" (subsequently reported as PR#16214).
    * Loading packages incorrectly defining an S4 generic followed by a
      function of the same name caused an erroneous cyclic namespace
      dependency error.
    * Declared vignette encodings are now always passed to the vignette
      engine.
    * Port Tomas Kalibera's fix from R-devel that restores the
      loadMethod() fast path, effectively doubling the speed of S4
      dispatch.
    * power.t.test() and power.prop.test() now make use of the
      extendInt option of uniroot() and hence work in more extreme
      cases.  (PR#15792)
    * If a package was updated and attached when its namespace was
      already loaded, it could end up with parts from one version and
      parts from the other.  (PR#16120)
    * tools:::.Rdconv() didn't accept --encoding= due to a typo.
      (PR#16121)
    * Unix-alike builds without a suitable makeinfo were documented to
      link the missing HTML manuals to CRAN, but did not.
    * save(*, ascii=TRUE) and load() now correctly deal with NaN's.
      (PR#16137)
    * split.Date() retains fractional representations while avoiding
      incomplete class propagation.
    * R_ext/Lapack.h had not been updated for changes made by LAPACK to
      the argument lists of its (largely internal) functions dlaed2 and
      dlaed3.  (PR#16157)
    * RShowDoc("NEWS", "txt") had not been updated for the layout
      changes of R 3.1.0.
    * The xtfrm() method for class "Surv" has been corrected and its
      description expanded.
    * mode(x) <- y would incorrectly evaluate x before changing its
      mode. (PR#16215)
    * besselJ(1, 2^64) and besselY(..) now signal a warning, returning
      NaN instead of typically segfaulting. (Issue 3 of PR#15554)
    * HTML conversion of \href markup in .Rd files did not remove the
      backslash from \% and so gave an invalid URL.  In a related
      change, the \ escape is now required in such URLs.


