-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathNEWS.2.html
9004 lines (8234 loc) · 346 KB
/
NEWS.2.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>R: R News</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<link rel="stylesheet" type="text/css" href="R.css" />
</head><body><div class="container">
<table width="100%" summary="page for NEWS"><tr><td>NEWS</td><td style="text-align: right;">R Documentation</td></tr></table>
<h2> R News</h2>
<h3>LATER NEWS</h3>
<p>News for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0 and later can be found in file ‘<span class="file">NEWS.Rd</span>’ in the
<span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> sources and files ‘<span class="file">NEWS</span>’ and ‘<span class="file">doc/html/NEWS.html</span>’
in an <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> build.
</p>
<h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.3</h3>
<h4>NEW FEATURES</h4>
<ul>
<li> <p><code>lgamma(x)</code> for very small <code>x</code> (in the
denormalized range) is no longer <code>Inf</code> with a warning.
</p>
</li>
<li> <p><code>image()</code> now sorts an unsorted <code>breaks</code> vector,
with a warning.
</p>
</li>
<li><p> The internal methods for <code>tar()</code> and <code>untar()</code> do
a slightly more general job for ‘ustar’-style handling of
paths of more than 100 bytes.
</p>
</li>
<li><p> Packages <span class="pkg">compiler</span> and <span class="pkg">parallel</span> have been added
to the reference index (‘<span class="file">refman.pdf</span>’).
</p>
</li>
<li> <p><code>untar(tar = "internal")</code> has some support for
<code>pax</code> headers as produced by e.g. <code>gnutar --posix</code>
(which seems prevalent on OpenSUSE 12.2) or
<code>bsdtar --format pax</code>, including long path and link names.
</p>
</li>
<li> <p><code>sQuote()</code> and <code>dQuote()</code> now handle 0-length
inputs. (Suggestion of Ben Bolker.)
</p>
</li>
<li> <p><code>summaryRprof()</code> returns zero-row data frames rather
than throw an error if no events are recorded, for consistency.
</p>
</li>
<li><p> The included version of PCRE has been updated to 8.32.
</p>
</li>
<li><p> The <span class="pkg">tcltk</span> namespace can now be re-loaded after
unloading.
</p>
<p>The Tcl/Tk event loop is inhibited in a forked child from package
<span class="pkg">parallel</span> (as in e.g. <code>mclapply()</code>).
</p>
</li>
<li> <p><code>parallel::makeCluster()</code> recognizes the value
<span class="samp">random</span> for the environment variable <span class="env">R_PARALLEL_PORT</span>:
this chooses a random value for the port and reduces the chance of
conflicts when multiple users start a cluster at the same time.
</p>
</li></ul>
<h4>UTILITIES</h4>
<ul>
<li><p> The default for <span class="env">TAR</span> on Windows for <code>R CMD
build</code> has been changed to be <span class="samp">internal</span> if no
<code>tar</code> command is on the path.
</p>
<p>This enables most packages to be built ‘out of the box’
without <code>Rtools</code>: the main exceptions are those which need
to be installed to re-build vignettes and need <code>Rtools</code>
for installation (usually because they contain compiled code).
</p>
</li></ul>
<h4>C-LEVEL FACILITIES</h4>
<ul>
<li><p> On a 64-bit Windows platform with enough RAM, <code>R_alloc</code>
can now allocate up to just under 32GB like other 64-bit
platforms.
</p>
</li></ul>
<h4>DEPRECATED AND DEFUNCT</h4>
<ul>
<li><p> Use of <code>col2rgb(0)</code> is deprecated (see the help page
for its limitations).
</p>
</li>
<li><p> The deprecated <code>intensities</code> component returned by
<code>hist()</code> is no longer recognized by the <code>plot()</code> method
and will be removed in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0.
</p>
</li>
<li> <p><code>real()</code>, <code>as.real()</code> and <code>is.real()</code> are now
formally deprecated and give a warning.
</p>
</li>
<li><p> This is formal notice that the non-API EISPACK entry points
in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will be removed shortly.
</p>
</li></ul>
<h4>INSTALLATION</h4>
<ul>
<li><p> The <code>configure</code> tests for Objective C and Objective
C++ now work on Mac OS 10.8 with Xcode 4.5.2 (<a href="https://bugs.R-project.org/show_bug.cgi?id=15107">PR#15107</a>).
</p>
</li>
<li><p> The cairo-based versions of <code>X11()</code> now work with
current versions of cairographics (e.g., 1.12.10). (<a href="https://bugs.R-project.org/show_bug.cgi?id=15168">PR#15168</a>)
</p>
<p>A workaround for earlier versions of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> is to use
<code>X11.options(type = "nbcairo")</code>.
</p>
</li>
<li><p> Configuration and <code>R CMD javareconf</code> 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</code>) supplied in the JDK and system
libraries. This can always be overridden if needed: see the
‘R Installation and Administration’ manual.
</p>
</li></ul>
<h4>BUG FIXES</h4>
<ul>
<li> <p><code>beta(a, b)</code> could overflow to infinity in its
calculations when one of <code>a</code> and <code>b</code> was less than one.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=15075">PR#15075</a>)
</p>
</li>
<li> <p><code>lbeta(a, b)</code> no longer gives <code>NaN</code> if <code>a</code> or
<code>b</code> is very small (in the denormalized range).
</p>
</li>
<li> <p><code>bquote()</code> is now able to substitute default arguments in
single-argument functions. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15077">PR#15077</a>)
</p>
</li>
<li> <p><code>browseEnv(html = FALSE)</code> would segfault if called from
<span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> (not <code>R.app</code>) on a CRAN-style Mac OS X build of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>.
</p>
</li>
<li> <p><span class="samp">[[<-</span> for lists (generic vectors) needed to increment
<code>NAMED</code> count when RHS is used more than once. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15098">PR#15098</a>)
</p>
</li>
<li><p> 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.
</p>
</li>
<li><p> The <code>call()</code> function did not duplicate its arguments.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=15115">PR#15115</a>)
</p>
</li>
<li> <p><code>TukeyHSD()</code> could give <code>NA</code> results with some
<span class="samp">na.action</span> methods such as <code>na.exclude()</code>.
(Hinted at on R-help by John Fox.)
</p>
</li>
<li><p> The deprecated <code>svd(X, LINPACK = TRUE)</code> could alter
<code>X</code> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.15.[12]. (Reported by Bill Dunlap.)
</p>
</li>
<li><p> Under Windows, <code>file.link()</code> and <code>file.symlink()</code>
used the link name twice, so would always fail. (Reported
by Rui Barradas/Oliver Soong).
</p>
</li>
<li> <p><code>summaryRprof(memory = "both")</code> mixed up the units of
Vcells and Ncells: it now works in bytes. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15138">PR#15138</a>)
</p>
</li>
<li> <p><code>tools::Rd2HTML()</code> would sometimes delete text. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15134">PR#15134</a>)
</p>
</li>
<li> <p><code>plot()</code> failed for <code>"table"</code> objects containing
just one entry. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15118">PR#15118</a>)
</p>
</li>
<li> <p><code>embedFonts()</code> needed to quote some filepaths.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=15149">PR#15149</a>)
</p>
</li>
<li> <p><code>parallel::mccollect()</code> handled <code>NULL</code> returns
incorrectly (removing the element rather than setting it to
<code>NULL</code>).
</p>
</li>
<li><p> The full reference index (‘<span class="file">fullrefman.pdf</span>’) was missing
packages <span class="pkg">compiler</span> and <span class="pkg">parallel</span>.
</p>
</li>
<li><p> The report for
<code>optim(method = "L-BFGS-B", control = list(trace = 1))</code>
reported the last completed and not the current iteration, unlike
other methods and trace levels. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15103">PR#15103</a>)
</p>
</li>
<li> <p><code>qt(1e-12, 1.2)</code> no longer gives <code>NaN</code>.
</p>
</li>
<li> <p><code>dt(1e160, 1.2, log=TRUE)</code> no longer gives <code>-Inf</code>.
</p>
</li>
<li><p> On Windows the <code>untar()</code> function now quotes the
directory name when using an external <code>tar</code> utility, so
<code>R CMD check</code> will handle pathnames containing spaces.
</p>
</li>
<li><p> The version for Windows 8 and Windows Server 2012 is now
displayed by <code>win.version()</code>. (Reported by Gabor
Grothendieck.)
</p>
</li>
<li><p> The custom Windows installer target <code>myR</code> in the
installer ‘<span class="file">Makefile</span>’ did not work in 2.15.2. (Reported
by Erich Neuwirth.)
</p>
</li>
<li> <p><code>aperm(matrix(1:6, 2, dimnames=list(A={}, B={})), "A")</code>
no longer segfaults.
</p>
</li>
<li><p> Expressions involving user defined operators were not
always deparsed faithfully. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15179">PR#15179</a>)
</p>
</li>
<li><p> The <code>enc2utf8()</code> function converted <code>NA_character_</code>
to <code>"NA"</code> in non-UTF-8 locales. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15201">PR#15201</a>)
</p>
</li>
<li><p> The <code>exclude</code> argument to <code>xtabs()</code> was ignored
for <code>"factor"</code> arguments.
</p>
</li>
<li><p> On Windows, work around an event-timing problem when
the RGui console was closed from the ‘X’ control and the closure
cancelled. (This would on some 64-bit systems crash <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>, typically
those with a slow GPU relative to the CPU.)
</p>
</li>
<li><p> On unix <code>Rscript</code> will pass the <code>r_arch</code> setting
it was compiled with on to the R process so that the architecture
of <code>Rscript</code> and that of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> will match unless overridden.
</p>
</li>
<li><p> On Windows, <code>basename()</code>, <code>dirname()</code> and
<code>file.choose()</code> have more support for long non-ASCII file
names with 260 or more bytes when expressed in UTF-8.
</p>
</li></ul>
<h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.2</h3>
<h4>NEW FEATURES</h4>
<ul>
<li><p> The <code>X11()</code> window gains an icon: the
latter may be especially useful on Ubuntu's ‘Unity’
interface.
</p>
<p>The <code>WM_CLASS</code> should be set in circumstances where the
Window Manager failed to make use of X11 resource settings.
</p>
<p>(Contributed by Philip Johnson.)
</p>
</li>
<li><p> The <code>"Date"</code> and <code>"POSIXt"</code> methods for
<code>cut()</code> will accept an unsorted <code>breaks</code> argument (as
the default method does, although this was undocumented).
(Wish of <a href="https://bugs.R-project.org/show_bug.cgi?id=14961">PR#14961</a>.)
</p>
</li>
<li><p> Reference class methods (in the <span class="pkg">methods</span> package) that
use other methods in an indirect way (e.g., by <code>sapply()</code>)
must tell the code analysis to include that method. They can now
do so by invoking <code>$usingMethods()</code>.
</p>
</li>
<li><p> More Polish translations are available: for the
<code>RGui</code> menus and for several recommended packages.
</p>
</li>
<li><p> Multistratum MANOVA works. In fact, it seems to have done so
for years in spite of the help page claiming it did not.
</p>
</li>
<li> <p><code>qqline()</code> has new optional arguments
<code>distribution</code>, <code>probs</code> and <code>qtype</code>, following the
example of <a href="https://CRAN.R-project.org/package=lattice"><span class="pkg">lattice</span></a>'s <code>panel.qqmathline()</code>.
</p>
</li>
<li><p> The handling of single quotes in the <code>en@quot</code>
pseudo-language has been slightly improved. Double quotes are no
longer converted.
</p>
</li>
<li><p> New functions <code>checkPoFiles()</code> and <code>checkPoFile()</code>
have been added to the <span class="pkg">tools</span> package to check for
consistency of format strings in translation files.
</p>
</li>
<li> <p><code>model.matrix(~1, ...)</code> now also contains the same
rownames that less trivial formulae produce. (Wish of <a href="https://bugs.R-project.org/show_bug.cgi?id=14992">PR#14992</a>,
changes the output of several packages.)
</p>
</li>
<li><p> Misuse of <code>rep()</code> on undocumented types of objects
(e.g., calls) is now reported as an error.
</p>
</li>
<li><p> The included LAPACK has been updated to 3.4.1, with some
patches from the current SVN sources. (<em>Inter alia</em>, this
resolves <a href="https://bugs.R-project.org/show_bug.cgi?id=14692">PR#14692</a>.)
</p>
</li>
<li> <p><code>file.copy(recursive = TRUE)</code> has some additional
checks on user error leading to attempted infinite recursion (and on
some platforms to crashing <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>).
</p>
</li>
<li><p> PCRE has been updated to version 8.31, a bug-fix release.
</p>
</li>
<li><p> The included version of <code>liblzma</code> has been updated to
version 5.0.4, a minor bug-fix release.
</p>
</li>
<li><p> New function <code>.bincode()</code>, a ‘bare-bones’
version of <code>cut.default(labels = FALSE)</code> for use in packages
with <code>image()</code> methods.
</p>
</li>
<li><p> The HTML manuals now use directional single quotes.
</p>
</li>
<li> <p><code>maintainer()</code> now converts embedded new lines to
spaces. It no longer gives a non-obvious error for non-installed
packages.
</p>
</li>
<li><p> The <code>X11()</code> device has some protection against
being used with forked processes <em>via</em> package <span class="pkg">parallel</span>.
</p>
</li>
<li><p> Setting the environment variable <span class="env">R_OSX_VALGRIND</span> (to
any value) allows <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> to be run under <code>valgrind</code> on Mac OS
10.6 and 10.7 (<code>valgrind</code> currently has very limited
support for 10.8), provided <code>system()</code> is not used (directly
or indirectly). This should not be needed for <code>valgrind</code>
>= 3.8.1.
</p>
</li>
<li><p> The <code>model.frame()</code> method for <code>"lm"</code> uses
<code>xlevels</code>: this is safer if <code>data</code> was supplied or
<code>model = FALSE</code> was used and the levels of factors used in
the fit had been re-ordered since fitting.
</p>
<p>Similarly, <code>model.frame(fm, data=<data>)</code> copies across
the variables used for safe prediction from the fit.
</p>
</li>
<li><p> Functions such as <code>parLapply()</code> in package
<span class="pkg">parallel</span> can make use of a default cluster if one is set.
(Reported by Martin Morgan.)
</p>
</li>
<li> <p><code>chol(pivot = TRUE, LINPACK = FALSE)</code> is now available
using LAPACK 3.2 subroutine <code>DPSTRF</code>.
</p>
</li>
<li><p> The functions <code>.C()</code>, <code>.Call()</code>,
<code>.External()</code> and <code>.Fortran()</code> now check that they are
called with an unnamed first argument: the formal arguments were
changed from <code>name=</code> to <code>.NAME=</code> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.13.0, but some
packages were still using the old name. This is currently a
warning, but will be an error in future.
</p>
</li>
<li> <p><code>step()</code> no longer tries to improve a model with
AIC of <code>-Inf</code> (a perfect fit).
</p>
</li>
<li> <p><code>spline()</code> and <code>splinefun()</code> gain a new method
<code>"hyman"</code>, an implementation of Hyman's method of
constructing monotonic interpolation splines. (Based on
contributions of Simon Wood and Rob Hyndman.)
</p>
</li>
<li><p> On Windows, the C stack size has been increased to 64MB (it
has been 10MB since the days of 32MB RAM systems).
</p>
</li></ul>
<h4>PERFORMANCE IMPROVEMENTS</h4>
<ul>
<li> <p><code>array()</code> is now implemented in C code (for speed) when
<code>data</code> is atomic or an unclassed list (so it is known that
<code>as.vector(data)</code> will have no class to be used by <code>rep()</code>).
</p>
</li>
<li> <p><code>rep()</code> is faster and uses less memory,
substantially so in some common cases (e.g., if <code>times</code> is of
length one or <code>length.out</code> is given, and <code>each = 1</code>).
</p>
</li>
<li> <p><code>findInterval()</code>, <code>tabulate()</code>, <code>cut()</code>,
<code>hist()</code> and <code>image.default()</code> all use <code>.Call()</code>
and are more efficient.
</p>
</li>
<li> <p><code>duplicated()</code>, <code>unique()</code> and similar now
support vectors of lengths above <i>2^29</i> on 64-bit
platforms.
</p>
</li>
<li><p> Omitting <code>PACKAGE</code> in <code>.C()</code> 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.
</p>
<p>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</code>
should be used to indicate which package is intended) but in some
the namespace does not have a DLL specified by a
<code>useDynLib()</code> directive so <code>PACKAGE</code> is required.
</p>
</li></ul>
<h4>UTILITIES</h4>
<ul>
<li> <p><code>R CMD check</code> now checks if a package can be loaded
by <code>library(pkgname, lib.loc = "somewhere")</code> without being on
the library search path (unless it is already installed in
<code>.Library</code>, when it always will be).
</p>
</li>
<li> <p><code>R CMD check --as-cran</code> notes ‘hidden’ files
and directories (with names starting with a dot) that are not
needed for the operation of <code>R CMD INSTALL</code> or <code>R CMD
build</code>: such files should be excluded from the published tarball.
</p>
</li>
<li> <p><code>R CMD check</code> (if checking subdirectories) checks
that the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> code in any demos is ASCII and can be parsed, and
warns if not.
</p>
</li>
<li><p> When <code>R CMD Rd2pdf</code> is used with ‘<span class="file">inputenx.sty</span>’,
it allows further characters (mainly for Eastern European
languages) by including ‘<span class="file">ix-utf8enc.dfu</span>’ (if available).
(Wish of <a href="https://bugs.R-project.org/show_bug.cgi?id=14989">PR#14989</a>.)
</p>
</li>
<li> <p><code>R CMD build</code> now omits several types of hidden
files/directories, including ‘<span class="file">inst/doc/.Rinstignore</span>’,
‘<span class="file">vignettes/.Rinstignore</span>’, (‘<span class="file">.Rinstignore</span>’ should be at
top level), ‘<span class="file">.deps</span>’ under ‘<span class="file">src</span>’, ‘<span class="file">.Renviron</span>’,
‘<span class="file">.Rprofile</span>’, ‘<span class="file">.Rproj.user</span>’, ‘<span class="file">.backups</span>’,
‘<span class="file">.cvsignore</span>’, ‘<span class="file">.cproject</span>’, ‘<span class="file">.directory</span>’,
‘<span class="file">.dropbox</span>’, ‘<span class="file">.exrc</span>’, ‘<span class="file">.gdb.history</span>’,
‘<span class="file">.gitattributes</span>’, ‘<span class="file">.gitignore</span>’, ‘<span class="file">.gitmodules</span>’,
‘<span class="file">.hgignore</span>’, ‘<span class="file">.hgtags</span>’, ‘<span class="file">.htaccess</span>’,
‘<span class="file">.latex2html-init</span>’, ‘<span class="file">.project</span>’, ‘<span class="file">.seed</span>’,
‘<span class="file">.settings</span>’, ‘<span class="file">.tm_properties</span>’ and various leftovers.
</p>
</li>
<li> <p><code>R CMD check</code> now checks for <code>.C()</code>,
<code>.Call()</code>, <code>.External()</code> and <code>.Fortran()</code> calls in
other packages, and gives a warning on those found from <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> itself
(which are not part of the API and change without notice: many
will be changed for <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0).
</p>
</li></ul>
<h4>C-LEVEL FACILITIES</h4>
<ul>
<li><p> The limit for <code>R_alloc</code> on 64-bit platforms has been
raised to just under 32GB (from just under 16GB).
</p>
</li>
<li><p> The misuse of <code>.C("name", ..., PACKAGE = foo)</code> where
<code>foo</code> is an arbitrary <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> object is now an error.
</p>
<p>The misuse <code>.C("name",..., PACKAGE = "")</code> is now warned about
in <code>R CMD check</code>, and will be an error in future.
</p>
</li></ul>
<h4>DEPRECATED AND DEFUNCT</h4>
<ul>
<li><p> Use of <code>array()</code> with a 0-length <code>dim</code> argument is
deprecated with a warning (and was contrary to the documentation).
</p>
</li>
<li><p> Use of <code>tapply()</code> with a 0-length <code>INDEX</code> list is
deprecated with a warning.
</p>
</li>
<li> <p><span class="samp">Translation</span> packages are deprecated.
</p>
</li>
<li><p> Calling <code>rep()</code> or <code>rep.int()</code> on a pairlist is
deprecated and will give a warning. In any case, <code>rep()</code>
converted a pairlist to a list so you may as well do that
explicitly.
</p>
</li>
<li><p> Entry point <code>rcont2</code> is no longer part of the API, and
will move to package <span class="pkg">stats</span> in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 3.0.0.
</p>
</li>
<li><p> The ‘internal’ graphics device invoked by
<code>.Call("R_GD_nullDevice", package = "grDevices")</code> is about to
be removed: use <code>pdf(file = NULL)</code> instead.
</p>
</li>
<li> <p><code>eigen(EISPACK = TRUE)</code>,
<code>chol(pivot = FALSE, LINPACK = TRUE)</code>,
<code>chol2inv(LINPACK = TRUE)</code>, <code>solve(LINPACK = TRUE)</code> and
<code>svd(LINPACK = TRUE)</code> are deprecated and give a warning.
</p>
<p>They were provided for compatibility with <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 1.7.0 (Mar 2003)!
</p>
</li>
<li><p> The ‘internal function’ <code>kappa.tri()</code> has been
renamed to <code>.kappa_tri()</code> so it is not inadvertently called
as a method for class <code>"tri"</code>.
</p>
</li>
<li><p> Functions <code>sessionData()</code> and <code>browseAll()</code> in
package <span class="pkg">methods</span> are on a help page describing them as
‘deprecated’ and are now formally deprecated.
</p>
</li></ul>
<h4>PACKAGE INSTALLATION</h4>
<ul>
<li><p> For a Windows or Mac OS X binary package install,
<code>install.packages()</code> 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.
</p>
<p>This check can be suppressed: see the help page.
</p>
</li>
<li> <p><code>install.packages(type = "both")</code> 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).
</p>
</li></ul>
<h4>INSTALLATION</h4>
<ul>
<li><p> There is a new <code>configure</code> option
<span class="option">--with-libtiff</span> (mainly in case the system installation
needs to be avoided).
</p>
</li>
<li><p> LAPACK 3.4.1 does use some Fortran 90 features, so
<code>g77</code> no longer suffices.
</p>
</li>
<li><p> If an external LAPACK is used, it must be version 3.2 or later.
</p>
</li></ul>
<h4>BUG FIXES</h4>
<ul>
<li><p> On Windows, starting <code>Rterm</code> via <code>R.exe</code>
caused Ctrl-C to misbehave. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14948">PR#14948</a>)
</p>
</li>
<li><p> The <code>tools::latexToUtf8()</code> function missed conversions that
were contained within braces.
</p>
</li>
<li><p> Long timezone specifications (such as a file name preceded
by <code>:</code>) could crash <code>as.POSIXlt</code>. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14945">PR#14945</a>)
</p>
</li>
<li> <p><code>R CMD build --resave-data</code> could fail if there was no
‘<span class="file">data</span>’ directory but there was an ‘<span class="file">R/sysdata.rda</span>’ file.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=14947">PR#14947</a>)
</p>
</li>
<li> <p><code>is.na()</code> misbehaved on a 0-column data frame.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=14959">PR#14959</a>)
</p>
</li>
<li> <p><code>anova.lmlist()</code> failed if <code>test</code> was
supplied. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14960">PR#14960</a>)
</p>
<p>It was unable to compute Cp tests for object of class <code>"lm"</code>
(it assumed class <code>"glm"</code>).
</p>
</li>
<li><p> The <code>formula</code> method for <code>sunflowerplot()</code> now
allows <code>xlab</code> and <code>ylab</code> to be set. (Reported by Gerrit
Eichner.)
</p>
</li>
<li><p> The <code>"POSIXt"</code> and <code>"Date"</code> methods for <code>hist()</code>
could fail on Windows where adjustments to the right-hand boundary
crossed a DST transition time.
</p>
</li>
<li><p> On Windows, the code in <code>as.POSIXct()</code> to handle
incorrectly specified <code>isdst</code> fields might have resulted in
<code>NA</code> being returned.
</p>
</li>
<li> <p><code>aov()</code> and <code>manova()</code> gave spurious warning about
singular error model in the multiresponse case.
</p>
</li>
<li><p> In <code>ns()</code> and <code>bs()</code>, specifying <code>knots = NULL</code>
is now equivalent to omitting it, also when <code>df</code> is
specified. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14970">PR#14970</a>)
</p>
</li>
<li> <p><code>sprintf()</code> did not accept numbered arguments ending
in zero. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14975">PR#14975</a>)
</p>
</li>
<li> <p><code>rWishart()</code> could overflow the C stack and maybe crash
the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> process for dimensions of several hundreds or more.
(Reported by Michael Braun on R-sig-mac.)
</p>
</li>
<li><p> Base package vignettes (e.g., <code>vignette("Sweave")</code>) were
not fully installed in builds of <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> from the tarball.
</p>
</li>
<li> <p><code>lchoose()</code> and <code>choose()</code> could overflow the C
stack and crash <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span>.
</p>
</li>
<li><p> When given a 0-byte file and asked to keep source
references, <code>parse()</code> read input from <code>stdin()</code>
instead.
</p>
</li>
<li> <p><code>pdf(compress = TRUE)</code> did not delete temporary files
it created until the end of the <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> session. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14991">PR#14991</a>)
</p>
</li>
<li> <p><code>logLik()</code> did not detect the error of applying it
to a multiple-response linear model. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15000">PR#15000</a>)
</p>
</li>
<li> <p><code>file.copy(recursive = TRUE)</code> did not always report
<code>FALSE</code> for a failure two or more directories deep.
</p>
</li>
<li> <p><code>qgeom()</code> could return <code>-1</code> for extremely small
<code>q</code>. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14967">PR#14967</a>)
</p>
</li>
<li> <p><code>smooth.spline()</code> used <code>DUP = FALSE</code> which allowed
its compiled C code to change the function: this was masked by the
default byte-compilation. (<a href="https://bugs.R-project.org/show_bug.cgi?id=14965">PR#14965</a>)
</p>
</li>
<li><p> In Windows, the GUI preferences for foreground color were
not always respected. (Reported by Benjamin Wells.)
</p>
</li>
<li><p> On OS X, the Quartz versions of the bitmap devices did not
respect <code>antialias = "none"</code>. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15006">PR#15006</a>)
</p>
</li>
<li> <p><code>unique()</code> and similar would infinite-loop if called on
a vector of length > <i>2^29</i> (but reported that the
vector was too long for <i>2^30</i> or more).
</p>
</li>
<li> <p><code>parallel::stopCluster()</code> now works with MPI
clusters without <a href="https://CRAN.R-project.org/package=snow"><span class="pkg">snow</span></a> being on the search path.
</p>
</li>
<li> <p><code>terms.formula()</code> could exhaust the stack, and the
stack check did not always catch this before the segfault.
(<a href="https://bugs.R-project.org/show_bug.cgi?id=15013">PR#15013</a>)
</p>
</li>
<li> <p><code>sort.list(method = "radix")</code> could give incorrect
results on certain compilers (seen with <code>clang</code> on Mac OS
10.7 and <code>Xcode 4.4.1</code>).
</p>
</li>
<li> <p><code>backsolve(T, b)</code> gave incorrect results when
<code>nrows(b) > ncols(T)</code> and <code>b</code> had more than one column.
</p>
<p>It could segfault or give nonsense if <code>k</code> was specified as
more than <code>ncols(T)</code>.
</p>
</li>
<li> <p><code>smooth.spline()</code> did not check that a specified
numeric <code>spar</code> was of length 1, and gave corrupt results if
it was of length 0.
</p>
</li>
<li><p> Protection added to <code>do_system</code>. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15025">PR#15025</a>)
</p>
</li>
<li><p> Printing of vectors with names > 1000 characters now works
correctly rather than truncating. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15028">PR#15028</a>)
</p>
</li>
<li> <p><code>qr()</code> for a complex matrix did not pivot the column names.
</p>
</li>
<li> <p><code>--with-blas='-framework vecLib'</code> now also works on OS X 10.8.
</p>
</li>
<li> <p><code>R CMD check</code> no longer fails with an error if
a ‘<span class="file">DESCRIPTION</span>’ file incorrectly contains a blank line.
(Reported by Bill Dunlap.)
</p>
</li>
<li> <p><code>install.packages(type = "both")</code> could call
<code>chooseCRANmirror()</code> twice.
</p>
</li>
<li> <p><code>lm.wfit()</code> could segfault in <span style="font-family: Courier New, Courier; color: #666666;"><b>R</b></span> 2.15.1 if all the
weights were zero. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15044">PR#15044</a>)
</p>
</li>
<li><p> A malformed package name could cause <code>R CMD INSTALL</code>
to write outside the target library.
</p>
</li>
<li><p> Some of the quality control functions
(e.g., <code>tools::checkFF()</code>) were wrongly identifying the source
of S4 methods in a package and so not checking them.
</p>
</li>
<li><p> The default type of display by <code>browseEnv()</code> when using
<code>R.app</code> on Mac OS X has been incorrect for a long time.
</p>
</li>
<li><p> The implementation of <code>importMethodsFrom</code> in a
<code>NAMESPACE</code> file could be confused and fail to find generics
when importing from multiple packages (reported and fixed by
Michael Lawrence).
</p>
</li>
<li><p> The detection of the C stack direction is better protected
against compiler optimization. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15011">PR#15011</a>)
</p>
</li>
<li><p> Long custom line types would sometimes segfault on the
cairographics-based devices. (<a href="https://bugs.R-project.org/show_bug.cgi?id=15055">PR#15055</a>)
</p>
</li>
<li> <p><code>tools::checkPoFile()</code> unprotected too early in its C
code and so segfaulted from time to time.
</p>
</li>
<li><p> The Fortran code underlying <code>nlminb()</code> could
infinite-loop if any of the input functions returned <code>NA</code> or
<code>NaN</code>. This is now an error for the gradient or Hessian, and
a warning for the function (with the value replaced by
<code>Inf</code>). (In part, <a href="https://bugs.R-project.org/show_bug.cgi?id=15052">PR#15052</a>.)
</p>
</li>
<li><p> The code for creating <code>coerce()</code> methods could
generate false notes about ambiguous selection; the notes have
been suppressed for this function.
</p>
</li>
<li> <p><code>arima.sim()</code> could give too long an output in some
corner cases (in part, <a href="https://bugs.R-project.org/show_bug.cgi?id=15068">PR#15068</a>).
</p>
</li>
<li> <p><code>anova.glm()</code> with <code>test = "Rao"</code> didn't work when
models included an offset. (Reported by Søren Feodor Nielsen.)
</p>
</li>
<li> <p><code>as.data.frame.matrix()</code> could return invalid data
frame with no <code>row.names</code> attribute for 0-row matrix. (Reported
by Hervé Pagès.)
</p>
</li>
<li><p> Compilation with the <code>vecLib</code> or <code>Accelerate</code>
frameworks on OS X without using that also for LAPACK is more
likely to be successful.
</p>
</li></ul>
<h3><img class="toplogo" src="../help/figures/../../html/Rlogo.svg" alt="[R logo]" /> CHANGES IN R VERSION 2.15.1</h3>
<h4>NEW FEATURES</h4>
<ul>
<li> <p><code>source()</code> now uses <code>withVisible()</code> rather than
<code>.Internal(eval.with.vis)</code>. This sometimes alters tracebacks
slightly.
</p>
</li>
<li> <p><code>install.packages("pkg_version.tgz")</code> 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).
</p>
</li>
<li> <p><code>splineDesign()</code> and <code>spline.des()</code> in package
<span class="pkg">splines</span> have a new option <code>sparse</code> which can be used
for efficient construction of a sparse B-spline design matrix
(<em>via</em> <a href="https://CRAN.R-project.org/package=Matrix"><span class="pkg">Matrix</span></a>).
</p>
</li>
<li> <p><code>norm()</code> now allows <code>type = "2"</code> (the
‘spectral’ or 2-norm) as well, mainly for didactical
completeness.
</p>
</li>
<li> <p><code>pmin()</code> and <code>pmax())</code> 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>+</code>.
</p>
</li>
<li> <p><code>colorRamp()</code> (and hence <code>colorRampPalette()</code>) now
also works for the boundary case of just one color when the ramp is
flat.
</p>
</li>
<li> <p><code>.C()</code> gains some protection against the misuse of
character vector arguments. (An all too common error is to pass
<code>character(N)</code>, which initializes the elements to <code>""</code>,
and then attempt to edit the strings in-place, sometimes forgetting
to terminate them.)
</p>
</li>
<li><p> Calls to the new function <code>globalVariables()</code> in
package <span class="pkg">utils</span> declare that functions and other objects in a
package should be treated as globally defined, so that <code>CMD
check</code> will not note them.
</p>
</li>
<li> <p><code>print(packageDescription(*))</code> trims the <code>Collate</code>
field by default.
</p>
</li>
<li><p> The included copy of <code>zlib</code> has been updated to version
1.2.7.
</p>
</li>
<li><p> A new option <code>"show.error.locations"</code> has been added.
When set to <code>TRUE</code>, error messages will contain the
location of the most recent call containing source reference
information. (Other values are supported as well; see
<code>?options</code>.)
</p>
</li>
<li><p> The NA warning messages from e.g. <code>pchisq()</code> now report
the call to the closure and not that of the <code>.Internal</code>.
</p>
</li>
<li><p> Added Polish translations by Łukasz Daniel.
</p>
</li></ul>
<h4>PERFORMANCE IMPROVEMENTS</h4>
<ul>
<li><p> In package <span class="pkg">parallel</span>, <code>makeForkCluster()</code> and the
multicore-based functions use native byte-order for serialization
(deferred from 2.15.0).
</p>
</li>
<li> <p><code>lm.fit()</code>, <code>lm.wfit()</code>, <code>glm.fit()</code> and
<code>lsfit()</code> do less copying of objects, mainly by using
<code>.Call()</code> rather than <code>.Fortran()</code>.
</p>
</li>
<li> <p><code>.C()</code> and <code>.Fortran()</code> 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).
</p>
</li>
<li> <p><code>tabulate()</code> makes use of <code>.C(DUP = FALSE)</code> and
hence does not copy <code>bin</code>. (Suggested by Tim Hesterberg.)
It also avoids making a copy of a factor argument <code>bin</code>.
</p>
</li>
<li><p> Other functions (often or always) doing less copying include
<code>cut()</code>, <code>dist()</code>, the complex case of <code>eigen()</code>,
<code>hclust()</code>, <code>image()</code>, <code>kmeans()</code>, <code>loess()</code>,
<code>stl()</code> and <code>svd(LINPACK = TRUE)</code>.
</p>
</li>
<li><p> There is less copying when using primitive replacement
functions such as <code>names()</code>, <code>attr()</code> and
<code>attributes()</code>.
</p>
</li></ul>
<h4>DEPRECATED AND DEFUNCT</h4>