-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathNEWS.2.Rd
6989 lines (5378 loc) · 296 KB
/
NEWS.2.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% -*- coding: utf-8 -*-
\newcommand{\Rlogo}{\if{html}{\figure{../../html/Rlogo.svg}{options: class="toplogo" alt="[R logo]"}}\if{latex}{\figure{Rlogo.pdf}{options: width=0.5in}}}
\name{NEWS}
\title{ R News}
\encoding{UTF-8}
\section{LATER NEWS}{
\itemize{
\item News for \R 3.0.0 and later can be found in file
\file{NEWS.Rd} in the \R sources and files \file{NEWS} and
\file{doc/html/NEWS.html} in an \R build.
}
}
\section{\Rlogo CHANGES IN R VERSION 2.15.3}{
\subsection{NEW FEATURES}{
\itemize{
\item \code{lgamma(x)} for very small \code{x} (in the
denormalized range) is no longer \code{Inf} with a warning.
\item \code{image()} now sorts an unsorted \code{breaks} vector,
with a warning.
\item The internal methods for \code{tar()} and \code{untar()} do
a slightly more general job for \sQuote{ustar}-style handling of
paths of more than 100 bytes.
\item Packages \pkg{compiler} and \pkg{parallel} have been added
to the reference index (\file{refman.pdf}).
\item \code{untar(tar = "internal")} has some support for
\code{pax} headers as produced by e.g.\sspace{}\command{gnutar --posix}
(which seems prevalent on OpenSUSE 12.2) or
\command{bsdtar --format pax}, including long path and link names.
\item \code{sQuote()} and \code{dQuote()} now handle 0-length
inputs. (Suggestion of Ben Bolker.)
\item \code{summaryRprof()} returns zero-row data frames rather
than throw an error if no events are recorded, for consistency.
\item The included version of PCRE has been updated to 8.32.
\item The \pkg{tcltk} namespace can now be re-loaded after
unloading.
The Tcl/Tk event loop is inhibited in a forked child from package
\pkg{parallel} (as in e.g.\sspace{}\code{mclapply()}).
\item \code{parallel::makeCluster()} recognizes the value
\samp{random} for the environment variable \env{R_PARALLEL_PORT}:
this chooses a random value for the port and reduces the chance of
conflicts when multiple users start a cluster at the same time.
}
}
\subsection{UTILITIES}{
\itemize{
\item The default for \env{TAR} on Windows for \command{R CMD
build} has been changed to be \samp{internal} if no
\command{tar} command is on the path.
This enables most packages to be built \sQuote{out of the box}
without \command{Rtools}: the main exceptions are those which need
to be installed to re-build vignettes and need \command{Rtools}
for installation (usually because they contain compiled code).
}
}
\subsection{C-LEVEL FACILITIES}{
\itemize{
\item On a 64-bit Windows platform with enough RAM, \code{R_alloc}
can now allocate up to just under 32GB like other 64-bit
platforms.
}
}
\subsection{DEPRECATED AND DEFUNCT}{
\itemize{
\item Use of \code{col2rgb(0)} is deprecated (see the help page
for its limitations).
\item The deprecated \code{intensities} component returned by
\code{hist()} is no longer recognized by the \code{plot()} method
and will be removed in \R 3.0.0.
\item \code{real()}, \code{as.real()} and \code{is.real()} are now
formally deprecated and give a warning.
\item This is formal notice that the non-API EISPACK entry points
in \R will be removed shortly.
}
}
\subsection{INSTALLATION}{
\itemize{
\item The \command{configure} tests for Objective C and Objective
C++ now work on Mac OS 10.8 with Xcode 4.5.2 (\PR{15107}).
\item The cairo-based versions of \code{X11()} now work with
current versions of cairographics (e.g., 1.12.10). (\PR{15168})
A workaround for earlier versions of \R is to use
\code{X11.options(type = "nbcairo")}.
\item Configuration and \command{R CMD javareconf} now come up
with a smaller set of library paths for Java on Oracle-format JDK
(including OpenJDK). This helps avoid conflicts between libraries
(such as \code{libjpeg}) supplied in the JDK and system
libraries. This can always be overridden if needed: see the
\sQuote{R Installation and Administration} manual.
}
}
\subsection{BUG FIXES}{
\itemize{
\item \code{beta(a, b)} could overflow to infinity in its
calculations when one of \code{a} and \code{b} was less than one.
(\PR{15075})
\item \code{lbeta(a, b)} no longer gives \code{NaN} if \code{a} or
\code{b} is very small (in the denormalized range).
\item \code{bquote()} is now able to substitute default arguments in
single-argument functions. (\PR{15077})
\item \code{browseEnv(html = FALSE)} would segfault if called from
\R (not \command{R.app}) on a CRAN-style Mac OS X build of \R.
\item \samp{[[<-} for lists (generic vectors) needed to increment
\code{NAMED} count when RHS is used more than once. (\PR{15098})
\item On Windows, warnings about opening a file or pipe with a
non-ASCII description were sometimes output in UTF-8 rather than
in the current locale's character set.
\item The \code{call()} function did not duplicate its arguments.
(\PR{15115})
\item \code{TukeyHSD()} could give \code{NA} results with some
\samp{na.action} methods such as \code{na.exclude()}.
(Hinted at on R-help by John Fox.)
\item The deprecated \code{svd(X, LINPACK = TRUE)} could alter
\code{X} in \R 2.15.[12]. (Reported by Bill Dunlap.)
\item Under Windows, \code{file.link()} and \code{file.symlink()}
used the link name twice, so would always fail. (Reported
by Rui Barradas/Oliver Soong).
\item \code{summaryRprof(memory = "both")} mixed up the units of
Vcells and Ncells: it now works in bytes. (\PR{15138})
\item \code{tools::Rd2HTML()} would sometimes delete text. (\PR{15134})
\item \code{plot()} failed for \code{"table"} objects containing
just one entry. (\PR{15118})
\item \code{embedFonts()} needed to quote some filepaths.
(\PR{15149})
\item \code{parallel::mccollect()} handled \code{NULL} returns
incorrectly (removing the element rather than setting it to
\code{NULL}).
\item The full reference index (\file{fullrefman.pdf}) was missing
packages \pkg{compiler} and \pkg{parallel}.
\item The report for
\code{optim(method = "L-BFGS-B", control = list(trace = 1))}
reported the last completed and not the current iteration, unlike
other methods and trace levels. (\PR{15103})
\item \code{qt(1e-12, 1.2)} no longer gives \code{NaN}.
\item \code{dt(1e160, 1.2, log=TRUE)} no longer gives \code{-Inf}.
\item On Windows the \code{untar()} function now quotes the
directory name when using an external \command{tar} utility, so
\code{R CMD check} will handle pathnames containing spaces.
\item The version for Windows 8 and Windows Server 2012 is now
displayed by \code{win.version()}. (Reported by Gabor
Grothendieck.)
\item The custom Windows installer target \code{myR} in the
installer \file{Makefile} did not work in 2.15.2. (Reported
by Erich Neuwirth.)
\item \code{aperm(matrix(1:6, 2, dimnames=list(A={}, B={})), "A")}
no longer segfaults.
\item Expressions involving user defined operators were not
always deparsed faithfully. (\PR{15179})
\item The \code{enc2utf8()} function converted \code{NA_character_}
to \code{"NA"} in non-UTF-8 locales. (\PR{15201})
\item The \code{exclude} argument to \code{xtabs()} was ignored
for \code{"factor"} arguments.
\item On Windows, work around an event-timing problem when
the RGui console was closed from the \sQuote{X} control and the closure
cancelled. (This would on some 64-bit systems crash \R, typically
those with a slow GPU relative to the CPU.)
\item On unix \code{Rscript} will pass the \code{r_arch} setting
it was compiled with on to the R process so that the architecture
of \code{Rscript} and that of \R will match unless overridden.
\item On Windows, \code{basename()}, \code{dirname()} and
\code{file.choose()} have more support for long non-ASCII file
names with 260 or more bytes when expressed in UTF-8.
}
}
}
\section{\Rlogo CHANGES IN R VERSION 2.15.2}{
\subsection{NEW FEATURES}{
\itemize{
\item The \code{X11()} window gains an icon: the
latter may be especially useful on Ubuntu's \sQuote{Unity}
interface.
The \code{WM_CLASS} should be set in circumstances where the
Window Manager failed to make use of X11 resource settings.
(Contributed by Philip Johnson.)
\item The \code{"Date"} and \code{"POSIXt"} methods for
\code{cut()} will accept an unsorted \code{breaks} argument (as
the default method does, although this was undocumented).
(Wish of \PR{14961}.)
\item Reference class methods (in the \pkg{methods} package) that
use other methods in an indirect way (e.g., by \code{sapply()})
must tell the code analysis to include that method. They can now
do so by invoking \code{$usingMethods()}. %$
\item More Polish translations are available: for the
\command{RGui} menus and for several recommended packages.
\item Multistratum MANOVA works. In fact, it seems to have done so
for years in spite of the help page claiming it did not.
\item \code{qqline()} has new optional arguments
\code{distribution}, \code{probs} and \code{qtype}, following the
example of \CRANpkg{lattice}'s \code{panel.qqmathline()}.
\item The handling of single quotes in the \code{en@quot}
pseudo-language has been slightly improved. Double quotes are no
longer converted.
\item New functions \code{checkPoFiles()} and \code{checkPoFile()}
have been added to the \pkg{tools} package to check for
consistency of format strings in translation files.
\item \code{model.matrix(~1, ...)} now also contains the same
rownames that less trivial formulae produce. (Wish of \PR{14992},
changes the output of several packages.)
\item Misuse of \code{rep()} on undocumented types of objects
(e.g., calls) is now reported as an error.
\item The included LAPACK has been updated to 3.4.1, with some
patches from the current SVN sources. (\emph{Inter alia}, this
resolves \PR{14692}.)
\item \code{file.copy(recursive = TRUE)} has some additional
checks on user error leading to attempted infinite recursion (and on
some platforms to crashing \R).
\item PCRE has been updated to version 8.31, a bug-fix release.
\item The included version of \code{liblzma} has been updated to
version 5.0.4, a minor bug-fix release.
\item New function \code{.bincode()}, a \sQuote{bare-bones}
version of \code{cut.default(labels = FALSE)} for use in packages
with \code{image()} methods.
\item The HTML manuals now use directional single quotes.
\item \code{maintainer()} now converts embedded new lines to
spaces. It no longer gives a non-obvious error for non-installed
packages.
\item The \code{X11()} device has some protection against
being used with forked processes \emph{via} package \pkg{parallel}.
\item Setting the environment variable \env{R_OSX_VALGRIND} (to
any value) allows \R to be run under \command{valgrind} on Mac OS
10.6 and 10.7 (\command{valgrind} currently has very limited
support for 10.8), provided \code{system()} is not used (directly
or indirectly). This should not be needed for \command{valgrind}
>= 3.8.1.
\item The \code{model.frame()} method for \code{"lm"} uses
\code{xlevels}: this is safer if \code{data} was supplied or
\code{model = FALSE} was used and the levels of factors used in
the fit had been re-ordered since fitting.
Similarly, \code{model.frame(fm, data=<data>)} copies across
the variables used for safe prediction from the fit.
\item Functions such as \code{parLapply()} in package
\pkg{parallel} can make use of a default cluster if one is set.
(Reported by Martin Morgan.)
\item \code{chol(pivot = TRUE, LINPACK = FALSE)} is now available
using LAPACK 3.2 subroutine \code{DPSTRF}.
\item The functions \code{.C()}, \code{.Call()},
\code{.External()} and \code{.Fortran()} now check that they are
called with an unnamed first argument: the formal arguments were
changed from \code{name=} to \code{.NAME=} in \R 2.13.0, but some
packages were still using the old name. This is currently a
warning, but will be an error in future.
\item \code{step()} no longer tries to improve a model with
AIC of \code{-Inf} (a perfect fit).
\item \code{spline()} and \code{splinefun()} gain a new method
\code{"hyman"}, an implementation of Hyman's method of
constructing monotonic interpolation splines. (Based on
contributions of Simon Wood and Rob Hyndman.)
\item On Windows, the C stack size has been increased to 64MB (it
has been 10MB since the days of 32MB RAM systems).
}
}
\subsection{PERFORMANCE IMPROVEMENTS}{
\itemize{
\item \code{array()} is now implemented in C code (for speed) when
\code{data} is atomic or an unclassed list (so it is known that
\code{as.vector(data)} will have no class to be used by \code{rep()}).
\item \code{rep()} is faster and uses less memory,
substantially so in some common cases (e.g., if \code{times} is of
length one or \code{length.out} is given, and \code{each = 1}).
\item \code{findInterval()}, \code{tabulate()}, \code{cut()},
\code{hist()} and \code{image.default()} all use \code{.Call()}
and are more efficient.
\item \code{duplicated()}, \code{unique()} and similar now
support vectors of lengths above \eqn{2^{29}}{2^29} on 64-bit
platforms.
\item Omitting \code{PACKAGE} in \code{.C()} etc calls was
supposed to make use of the DLL from the namespace within which
the enclosing function was defined. It was less successful in
doing so than it might be, and gave no indication it had failed.
A new search strategy is very successful and gives a warning
when it fails. In most cases this is because the entry point is
not actually provided by that package (and so \code{PACKAGE}
should be used to indicate which package is intended) but in some
the namespace does not have a DLL specified by a
\code{useDynLib()} directive so \code{PACKAGE} is required.
}
}
\subsection{UTILITIES}{
\itemize{
\item \command{R CMD check} now checks if a package can be loaded
by \code{library(pkgname, lib.loc = "somewhere")} without being on
the library search path (unless it is already installed in
\code{.Library}, when it always will be).
\item \command{R CMD check --as-cran} notes \sQuote{hidden} files
and directories (with names starting with a dot) that are not
needed for the operation of \command{R CMD INSTALL} or \code{R CMD
build}: such files should be excluded from the published tarball.
\item \command{R CMD check} (if checking subdirectories) checks
that the \R code in any demos is ASCII and can be parsed, and
warns if not.
\item When \code{R CMD Rd2pdf} is used with \file{inputenx.sty},
it allows further characters (mainly for Eastern European
languages) by including \file{ix-utf8enc.dfu} (if available).
(Wish of \PR{14989}.)
\item \command{R CMD build} now omits several types of hidden
files/directories, including \file{inst/doc/.Rinstignore},
\file{vignettes/.Rinstignore}, (\file{.Rinstignore} should be at
top level), \file{.deps} under \file{src}, \file{.Renviron},
\file{.Rprofile}, \file{.Rproj.user}, \file{.backups},
\file{.cvsignore}, \file{.cproject}, \file{.directory},
\file{.dropbox}, \file{.exrc}, \file{.gdb.history},
\file{.gitattributes}, \file{.gitignore}, \file{.gitmodules},
\file{.hgignore}, \file{.hgtags}, \file{.htaccess},
\file{.latex2html-init}, \file{.project}, \file{.seed},
\file{.settings}, \file{.tm_properties} and various leftovers.
\item \command{R CMD check} now checks for \code{.C()},
\code{.Call()}, \code{.External()} and \code{.Fortran()} calls in
other packages, and gives a warning on those found from \R itself
(which are not part of the API and change without notice: many
will be changed for \R 3.0.0).
}
}
\subsection{C-LEVEL FACILITIES}{
\itemize{
\item The limit for \code{R_alloc} on 64-bit platforms has been
raised to just under 32GB (from just under 16GB).
\item The misuse of \code{.C("name", ..., PACKAGE = foo)} where
\code{foo} is an arbitrary \R object is now an error.
The misuse \code{.C("name",..., PACKAGE = "")} is now warned about
in \command{R CMD check}, and will be an error in future.
}
}
\subsection{DEPRECATED AND DEFUNCT}{
\itemize{
\item Use of \code{array()} with a 0-length \code{dim} argument is
deprecated with a warning (and was contrary to the documentation).
\item Use of \code{tapply()} with a 0-length \code{INDEX} list is
deprecated with a warning.
\item \samp{Translation} packages are deprecated.
\item Calling \code{rep()} or \code{rep.int()} on a pairlist is
deprecated and will give a warning. In any case, \code{rep()}
converted a pairlist to a list so you may as well do that
explicitly.
\item Entry point \code{rcont2} is no longer part of the API, and
will move to package \pkg{stats} in \R 3.0.0.
\item The \sQuote{internal} graphics device invoked by
\code{.Call("R_GD_nullDevice", package = "grDevices")} is about to
be removed: use \code{pdf(file = NULL)} instead.
\item \code{eigen(EISPACK = TRUE)},
\code{chol(pivot = FALSE, LINPACK = TRUE)},
\code{chol2inv(LINPACK = TRUE)}, \code{solve(LINPACK = TRUE)} and
\code{svd(LINPACK = TRUE)} are deprecated and give a warning.
They were provided for compatibility with \R 1.7.0 (Mar 2003)!
\item The \sQuote{internal function} \code{kappa.tri()} has been
renamed to \code{.kappa_tri()} so it is not inadvertently called
as a method for class \code{"tri"}.
\item Functions \code{sessionData()} and \code{browseAll()} in
package \pkg{methods} are on a help page describing them as
\sQuote{deprecated} and are now formally deprecated.
}
}
\subsection{PACKAGE INSTALLATION}{
\itemize{
\item For a Windows or Mac OS X binary package install,
\code{install.packages()} will check if a source package is
available on the same repositories, and report if it is a later
version or there is a source package but no binary package
available.
This check can be suppressed: see the help page.
\item \code{install.packages(type = "both")} has been enhanced.
In interactive use it will ask whether to choose the source
version of a package if the binary version is older and contains
compiled code, and also asks if source packages with no binary
version should be installed.
}
}
\subsection{INSTALLATION}{
\itemize{
\item There is a new \command{configure} option
\option{--with-libtiff} (mainly in case the system installation
needs to be avoided).
\item LAPACK 3.4.1 does use some Fortran 90 features, so
\command{g77} no longer suffices.
\item If an external LAPACK is used, it must be version 3.2 or later.
}
}
\subsection{BUG FIXES}{
\itemize{
\item On Windows, starting \command{Rterm} via \command{R.exe}
caused Ctrl-C to misbehave. (\PR{14948})
\item The \code{tools::latexToUtf8()} function missed conversions that
were contained within braces.
\item Long timezone specifications (such as a file name preceded
by \code{:}) could crash \code{as.POSIXlt}. (\PR{14945})
\item \code{R CMD build --resave-data} could fail if there was no
\file{data} directory but there was an \file{R/sysdata.rda} file.
(\PR{14947})
\item \code{is.na()} misbehaved on a 0-column data frame.
(\PR{14959})
\item \code{anova.lmlist()} failed if \code{test} was
supplied. (\PR{14960})
It was unable to compute Cp tests for object of class \code{"lm"}
(it assumed class \code{"glm"}).
\item The \code{formula} method for \code{sunflowerplot()} now
allows \code{xlab} and \code{ylab} to be set. (Reported by Gerrit
Eichner.)
\item The \code{"POSIXt"} and \code{"Date"} methods for \code{hist()}
could fail on Windows where adjustments to the right-hand boundary
crossed a DST transition time.
\item On Windows, the code in \code{as.POSIXct()} to handle
incorrectly specified \code{isdst} fields might have resulted in
\code{NA} being returned.
\item \code{aov()} and \code{manova()} gave spurious warning about
singular error model in the multiresponse case.
\item In \code{ns()} and \code{bs()}, specifying \code{knots = NULL}
is now equivalent to omitting it, also when \code{df} is
specified. (\PR{14970})
\item \code{sprintf()} did not accept numbered arguments ending
in zero. (\PR{14975})
\item \code{rWishart()} could overflow the C stack and maybe crash
the \R process for dimensions of several hundreds or more.
(Reported by Michael Braun on R-sig-mac.)
\item Base package vignettes (e.g., \code{vignette("Sweave")}) were
not fully installed in builds of \R from the tarball.
\item \code{lchoose()} and \code{choose()} could overflow the C
stack and crash \R.
\item When given a 0-byte file and asked to keep source
references, \code{parse()} read input from \code{stdin()}
instead.
\item \code{pdf(compress = TRUE)} did not delete temporary files
it created until the end of the \R session. (\PR{14991})
\item \code{logLik()} did not detect the error of applying it
to a multiple-response linear model. (\PR{15000})
\item \code{file.copy(recursive = TRUE)} did not always report
\code{FALSE} for a failure two or more directories deep.
\item \code{qgeom()} could return \code{-1} for extremely small
\code{q}. (\PR{14967})
\item \code{smooth.spline()} used \code{DUP = FALSE} which allowed
its compiled C code to change the function: this was masked by the
default byte-compilation. (\PR{14965})
\item In Windows, the GUI preferences for foreground color were
not always respected. (Reported by Benjamin Wells.)
\item On OS X, the Quartz versions of the bitmap devices did not
respect \code{antialias = "none"}. (\PR{15006})
\item \code{unique()} and similar would infinite-loop if called on
a vector of length > \eqn{2^{29}}{2^29} (but reported that the
vector was too long for \eqn{2^{30}}{2^30} or more).
\item \code{parallel::stopCluster()} now works with MPI
clusters without \CRANpkg{snow} being on the search path.
\item \code{terms.formula()} could exhaust the stack, and the
stack check did not always catch this before the segfault.
(\PR{15013})
\item \code{sort.list(method = "radix")} could give incorrect
results on certain compilers (seen with \command{clang} on Mac OS
10.7 and \command{Xcode 4.4.1}).
\item \code{backsolve(T, b)} gave incorrect results when
\code{nrows(b) > ncols(T)} and \code{b} had more than one column.
It could segfault or give nonsense if \code{k} was specified as
more than \code{ncols(T)}.
\item \code{smooth.spline()} did not check that a specified
numeric \code{spar} was of length 1, and gave corrupt results if
it was of length 0.
\item Protection added to \code{do_system}. (\PR{15025})
\item Printing of vectors with names > 1000 characters now works
correctly rather than truncating. (\PR{15028})
\item \code{qr()} for a complex matrix did not pivot the column names.
\item \code{--with-blas='-framework vecLib'} now also works on OS X 10.8.
\item \command{R CMD check} no longer fails with an error if
a \file{DESCRIPTION} file incorrectly contains a blank line.
(Reported by Bill Dunlap.)
\item \code{install.packages(type = "both")} could call
\code{chooseCRANmirror()} twice.
\item \code{lm.wfit()} could segfault in \R 2.15.1 if all the
weights were zero. (\PR{15044})
\item A malformed package name could cause \command{R CMD INSTALL}
to write outside the target library.
\item Some of the quality control functions
(e.g., \code{tools::checkFF()}) were wrongly identifying the source
of S4 methods in a package and so not checking them.
\item The default type of display by \code{browseEnv()} when using
\command{R.app} on Mac OS X has been incorrect for a long time.
\item The implementation of \code{importMethodsFrom} in a
\code{NAMESPACE} file could be confused and fail to find generics
when importing from multiple packages (reported and fixed by
Michael Lawrence).
\item The detection of the C stack direction is better protected
against compiler optimization. (\PR{15011})
\item Long custom line types would sometimes segfault on the
cairographics-based devices. (\PR{15055})
\item \code{tools::checkPoFile()} unprotected too early in its C
code and so segfaulted from time to time.
\item The Fortran code underlying \code{nlminb()} could
infinite-loop if any of the input functions returned \code{NA} or
\code{NaN}. This is now an error for the gradient or Hessian, and
a warning for the function (with the value replaced by
\code{Inf}). (In part, \PR{15052}.)
\item The code for creating \code{coerce()} methods could
generate false notes about ambiguous selection; the notes have
been suppressed for this function.
\item \code{arima.sim()} could give too long an output in some
corner cases (in part, \PR{15068}).
\item \code{anova.glm()} with \code{test = "Rao"} didn't work when
models included an offset. (Reported by Søren Feodor Nielsen.)
\item \code{as.data.frame.matrix()} could return invalid data
frame with no \code{row.names} attribute for 0-row matrix. (Reported
by Hervé Pagès.)
\item Compilation with the \code{vecLib} or \code{Accelerate}
frameworks on OS X without using that also for LAPACK is more
likely to be successful.
}
}
}
\section{\Rlogo CHANGES IN R VERSION 2.15.1}{
\subsection{NEW FEATURES}{
\itemize{
\item \code{source()} now uses \code{withVisible()} rather than
\code{.Internal(eval.with.vis)}. This sometimes alters tracebacks
slightly.
\item \code{install.packages("pkg_version.tgz")} on Mac OS X now
has sanity checks that this is actually a binary package (as
people have tried it with incorrectly named source packages).
\item \code{splineDesign()} and \code{spline.des()} in package
\pkg{splines} have a new option \code{sparse} which can be used
for efficient construction of a sparse B-spline design matrix
(\emph{via} \CRANpkg{Matrix}).
\item \code{norm()} now allows \code{type = "2"} (the
\sQuote{spectral} or 2-norm) as well, mainly for didactical
completeness.
\item \code{pmin()} and \code{pmax()} now also work when one of
the inputs is of length zero and others are not, returning a
zero-length vector, analogously to, say, \code{+}.
\item \code{colorRamp()} (and hence \code{colorRampPalette()}) now
also works for the boundary case of just one color when the ramp is
flat.
\item \code{.C()} gains some protection against the misuse of
character vector arguments. (An all too common error is to pass
\code{character(N)}, which initializes the elements to \code{""},
and then attempt to edit the strings in-place, sometimes forgetting
to terminate them.)
\item Calls to the new function \code{globalVariables()} in
package \pkg{utils} declare that functions and other objects in a
package should be treated as globally defined, so that \code{CMD
check} will not note them.
\item \code{print(packageDescription(*))} trims the \code{Collate}
field by default.
\item The included copy of \code{zlib} has been updated to version
1.2.7.
\item A new option \code{"show.error.locations"} has been added.
When set to \code{TRUE}, error messages will contain the
location of the most recent call containing source reference
information. (Other values are supported as well; see
\code{?options}.)
\item The NA warning messages from e.g.\sspace{}\code{pchisq()} now report
the call to the closure and not that of the \code{.Internal}.
\item Added Polish translations by Łukasz Daniel.
}
}
\subsection{PERFORMANCE IMPROVEMENTS}{
\itemize{
\item In package \pkg{parallel}, \code{makeForkCluster()} and the
multicore-based functions use native byte-order for serialization
(deferred from 2.15.0).
\item \code{lm.fit()}, \code{lm.wfit()}, \code{glm.fit()} and
\code{lsfit()} do less copying of objects, mainly by using
\code{.Call()} rather than \code{.Fortran()}.
\item \code{.C()} and \code{.Fortran()} do less copying: arguments
which are raw, logical, integer, real or complex vectors and are
unnamed are not copied before the call, and (named or not) are not
copied after the call. Lists are no longer copied (they are
supposed to be used read-only in the C code).
\item \code{tabulate()} makes use of \code{.C(DUP = FALSE)} and
hence does not copy \code{bin}. (Suggested by Tim Hesterberg.)
It also avoids making a copy of a factor argument \code{bin}.
\item Other functions (often or always) doing less copying include
\code{cut()}, \code{dist()}, the complex case of \code{eigen()},
\code{hclust()}, \code{image()}, \code{kmeans()}, \code{loess()},
\code{stl()} and \code{svd(LINPACK = TRUE)}.
\item There is less copying when using primitive replacement
functions such as \code{names()}, \code{attr()} and
\code{attributes()}.
}
}
\subsection{DEPRECATED AND DEFUNCT}{
\itemize{
\item The converters for use with \code{.C()} (see
\code{?getCConverterDescriptions}) are deprecated: use the
\code{.Call()} interface instead. There are no known examples
(they were never fully documented).
}
}
\subsection{UTILITIES}{
\itemize{
\item For \command{R CMD check}, a few people have reported
problems with junctions on Windows (although they were tested on
Windows 7, XP and Server 2008 machines and it is unknown under
what circumstances the problems occur). Setting the environment
variable \env{R_WIN_NO_JUNCTIONS} to a non-empty value (e.g., in
\file{~/.R/check.Renviron}) will force copies to be used instead.
}
}
\subsection{INSTALLATION}{
\itemize{
\item \command{R CMD INSTALL} with \env{_R_CHECK_INSTALL_DEPENDS_}
set to a true value (as done by \command{R CMD check --as-cran})
now restricts the packages available when lazy-loading as well
as when test-loading (since packages such as \CRANpkg{ETLUtils}
and \CRANpkg{agsemisc} had top-level calls to \code{library()}
for undeclared packages).
This check is now also available on Windows.
}
}
\subsection{C-LEVEL FACILITIES}{
\itemize{
\item C entry points \code{mkChar} and \code{mkCharCE} now check
that the length of the string they are passed does not exceed
\eqn{2^{31}-1}{2^31-1} bytes: they used to overflow with
unpredictable consequences.
\item C entry points \code{R_GetCurrentSrcref} and
\code{R_GetSrcFilename} have been added to the API to allow
debuggers access to the source references on the stack.
}
}
\subsection{WINDOWS-SPECIFIC CHANGES}{
\itemize{
\item Windows-specific changes will now be announced in this file
(\file{NEWS}). Changes up and including \R 2.15.0 remain in the
\file{CHANGES} file.
\item There are two new environment variables which
control the defaults for command-line options.
If \env{R_WIN_INTERNET2} is set to a non-empty value, it is as if
\option{--internet2} was used.
If \env{R_MAX_MEM_SIZE} is set, it gives the default memory limit
if \option{--max-mem-size} is not specified: invalid values being
ignored.
}
}
\subsection{BUG FIXES}{
\itemize{
\item \code{lsfit()} lost the names from the residuals.
\item More cases in which \code{merge()} could create a data frame
with duplicate column names now give warnings. Cases where
names specified in \code{by} match multiple columns are errors.
\item Nonsense uses such as \code{seq(1:50, by = 5)} (from package
\CRANpkg{plotrix}) and \code{seq.int(1:50, by = 5)} are now errors.
\item The residuals in the 5-number summary printed by
\code{summary()} on an \code{"lm"} object are now explicitly
labelled as weighted residuals when non-constant weights are
present. (Wish of \PR{14840}.)
\item \code{tracemem()} reported that all objects were copied
by \code{.C()} or \code{.Fortran()} whereas only some object types
were ever copied.
It also reported and marked as copies \emph{some} transformations
such as \code{rexp(n, x)}: it no longer does so.
\item The \code{plot()} method for class \code{"stepfun"} only
used the optional \code{xval} argument to compute \code{xlim} and
not the points at which to plot (as documented). (\PR{14864})
\item Names containing characters which need to be escaped were
not deparsed properly. (\PR{14846})
\item Trying to update (recommended) packages in
\file{R_HOME/library} without write access is now dealt with more
gracefully. Further, such package updates may be skipped (with a
warning), when a newer installed version is already going to be
used from \code{.libPaths()}. (\PR{14866})
\item \code{hclust()} is now fast again (as up to end of 2003),
with a different fix for the "median"/"centroid" problem. (\PR{4195}).
\item \code{get_all_vars()} failed when the data came entirely
from vectors in the global environment. (\PR{14847})
\item \command{R CMD check} with \env{_R_CHECK_NO_RECOMMENDED_}
set to a true value (as done by the \command{--as-cran} option)
could issue false errors if there was an indirect dependency
on a recommended package.
\item \code{formatC()} uses the C entry point \code{str_signif}
which could write beyond the length allocated for the output string.
\item Missing default argument added to implicit S4 generic for
\code{backsolve()}. (\PR{14883})
\item Some bugs have been fixed in handling load actions that
could fail to export assigned items or generate spurious warnings
in \code{CMD check} on loading.
\item For \code{tiff(type = "windows")}, the numbering of per-page
files except the last was off by one.
\item On Windows, loading package \pkg{stats} (which is done for
a default session) would switch line endings on \file{stdout}
and \file{stderr} from CRLF to LF. This affected
\command{Rterm} and \command{R CMD BATCH}.
\item On Windows, the compatibility function \code{x11()} had
not kept up with changes to \code{windows()}, and issued
warnings about bad parameters. (\PR{14880})
\item On Windows, the \code{Sys.glob()} function did not handle
UNC paths as it was designed to try to do. (\PR{14884})
\item In package \pkg{parallel}, \code{clusterApply()} and similar
failed to handle a (pretty pointless) length-1 argument. (\PR{14898})
\item Quartz Cocoa display reacted asynchronously to
\code{dev.flush()} which means that the redraw could be performed
after the plot has been already modified by subsequent code. The
redraw is now done synchronously in \code{dev.flush()} to allow
animations without sleep cycles.
\item Source locations reported in \code{traceback()} were
incorrect when byte-compiled code was on the stack.
\item \code{plogis(x, lower = FALSE, log.p = TRUE)} no longer
underflows early for large x (e.g., 800).
\item \code{?Arithmetic}'s \dQuote{\code{1 ^ y} and \code{y ^ 0}
are \code{1}, \emph{always}} now also applies for \code{integer}
vectors \code{y}.
\item X11-based pixmap devices like \code{png(type = "Xlib")} were
trying to set the cursor style, which triggered some warnings and
hangs.
\item Code executed by the built-in HTTP server no longer allows
other HTTP clients to re-enter \R until the current worker
evaluation finishes, to prevent cascades.
\item The \code{plot()} and \code{Axis()} methods for class
\code{"table"} now respect graphical parameters such as
\code{cex.axis}. (Reported by Martin Becker.)
\item Under some circumstances \code{package.skeleton()} would
give out progress reports that could not be translated and so were
displayed by question marks. Now they are always in English.
(This was seen for CJK locales on Windows, but may have occurred
elsewhere.)
\item The evaluator now keeps track of source references outside
of functions, e.g.\sspace{}when \code{source()} executes a script.
\item The replacement method for \code{window()} now works
correctly for multiple time series of class \code{"mts"}.
(\PR{14925})
\item \code{is.unsorted()} gave incorrect results on non-atomic
objects such as data frames. (Reported by Matthew Dowle.)
\item The value returned by \code{tools::psnice()} for invalid
\code{pid} values was not always \code{NA} as documented.
\item Closing an \code{X11()} window while \code{locator()} was
active could abort the \R process.
\item \code{getMethod(f, sig)} produced an incorrect error message
in some cases when \code{f} was not a string.
\item Using a string as a \dQuote{call} in an error condition
with \code{options(showErrorCalls=TRUE)} could cause a segfault.
(\PR{14931})
\item The string \code{"infinity"} allowed by C99 was not accepted
as a numerical string value by e.g.\sspace{}\code{scan()} and
\code{as.numeric()}. (\PR{14933})
\item In \code{legend()}, setting some entries of \code{lwd} to
\code{NA} was inconsistent (depending on the graphics device) in
whether it would suppress those lines; now it consistently does
so. (\PR{14926})
\item \code{by()} failed for a zero-row data frame. (Reported by
Weiqiang Qian.)
\item The Yates' correction in \code{chisq.test()} could be bigger
than the terms it corrected, previously leading to an infinite
test statistic in some corner cases which are now reported as
\code{NaN}.
\item \code{xgettext()} and related functions sometimes returned
items that were not strings for translation. (\PR{14935})
\item \code{plot(<lm>, which=5)} now correctly labels the factor
level combinations for the special case where all
\eqn{h_ii}{h[i,i]} are the same. (\PR{14837})
\item \code{Sys.glob()} caused a segfault if the first element of
\code{path} was \code{NA_character}. (\PR{14990})
}
}
}
\section{\Rlogo CHANGES IN R VERSION 2.15.0}{
\subsection{SIGNIFICANT USER-VISIBLE CHANGES}{
\itemize{
\item The behaviour of \code{unlink(recursive = TRUE)} for a
symbolic link to a directory has changed: it now removes the link
rather than the directory contents (just as \command{rm -r} does).
On Windows it no longer follows reparse points (including
junctions and symbolic links).
}
}
\subsection{NEW FEATURES}{
\itemize{
\item Environment variable \env{RD2DVI_INPUTENC} has been renamed
to \env{RD2PDF_INPUTENC}.
\item \code{.Deprecated()} becomes a bit more flexible, getting an
\code{old} argument.