1				Dear Emacs, please make this -*-Text-*- mode!
2
3	This file covers NEWS up to the release of R-1.0.0.
4	See 'NEWS.1' for subsequent changes.
5
6
7	**************************************************
8	*						 *
9	*	       0.99 SERIES NEWS			 *
10	*						 *
11	**************************************************
12
13
14		CHANGES IN R VERSION 0.99.0
15
16
17NEW FEATURES
18
19    o	The ``Introduction to R'' manual, in doc/manual.
20	The ``Writing R Extensions'' manual is much enhanced for
21	this release.
22
23    o	The format for save/load has been changed. Workspaces and
24	objects saved in earlier versions can be loaded into this
25	version, but not conversely. Use save() or save.image() with
26	argument oldstyle=TRUE to save in the old format if you need to.
27
28    o	The header files for C code have been reorganised. The
29	preferred header file for user code is now "R.h", and
30	ancillary files such as Arith.h now need to be referred to
31	as "R_ext/Arith.h". The `Writing R Extensions' manual now
32	contains the beginnings of a description of the public API and
33	how to use it.
34
35    o	Many of the exported symbols have been remapped or hidden. This
36	means that code using Rdefines.h or Rinternals.h or Mathlib.h
37	will need to be re-compiled, and code using Applic.h may do
38	so.
39
40	Many packages will need to be re-installed for use with this
41	release.
42
43    o	The random number generation interface has changed, although
44	saved .Random.seed's will work unchanged. The default
45	generator is now Marsaglia's multicarry, and the Mersenne
46	Twister GFSR and Knuth's Fibonacci subtraction are also
47	available.  The type of normal generation can be selected by
48	RNGkind() (and is encoded in .Random.seed).
49
50	The new function set.seed() which uses a single integer to set
51	the random number seeds is now the recommended way to do so.
52
53	It is now possible for a user to plug-in a new RNG written
54	in C: consult ?Random and ?Random-user for the details.
55
56    o	All the DPQ {probability density quantile} functions have new
57	arguments, "lower_tail = TRUE" and "log{_p} = FALSE".  This allows
58	more precise results when values would be close to 0 or 1.
59
60    o	R CMD Rd2dvi has new options --pdf, --title and --output.
61
62    o	New fields Date, URL and Title in the DESCRIPTION file of
63	packages. The Title field replaces the separate TITLE file of
64	packages, which is no longer necessary.
65
66    o	residuals.lm() has a "type" argument, as S does.
67
68    o	The underlying code for nlm has been translated from Fortran
69	to C and made re-entrant (changes contributed by Saikat DebRoy).
70
71    o	optimize() can now be used recursively.
72
73    o	New suite of optimization methods optim(), covering
74	Nelder-Mead, BFGS quasi-Newton and conjugate-gradients methods
75	for unconstrained minimization and maximization with and
76	without derivatives.
77
78	optim() also allows box constraints (interval bounds on
79	individual variables) in its limited-memory BFGS option.
80
81    o	R now compiles in the GNU version of regex, so regular
82	expressions (grep, sub, gsub, regexpr, "pattern" in ls) are
83	always available. The class of regular expressions supported
84	is now slightly wider on some Unix platforms.
85
86    o	package ctest (for classical tests) is now part of the base
87	distribution, and also contains chisq.test, prop.test and
88	t.test which previously were in package base. These three
89	functions are auto-loaded from ctest.
90
91    o	New utility `R CMD build' for building add-on packages along
92	with some useful testing and cleaning up.
93
94    o	Conversion of .Rd help files to text format is done in Perl,
95	and no longer requires nroff.  This makes the conversion 8-bit
96	clean and more accurate.
97
98    o	Building help for a package now removes help files that no
99	longer exist in the source.
100
101    o	strsplit() now uses split regexps, and no longer insists on
102	splitting into non-empty tokens.
103
104    o	Long-named options with arguments such as `--vsize' now use the
105	`--name=VALUE' form; the old `--name VALUE' is deprecated.
106	The old-style command line options `-v' and `-n' are now defunct.
107
108    o	par("cxy") { == par("cin")/par("pin") in user coordinates}
109	for S compatibility.
110
111    o	If R_PAPERSIZE is not specified otherwise, configure now tries
112	to compute it by calling paperconf.
113
114    o	The deprecated alternative RPROFILE is no longer accepted: use
115	R_PROFILE instead.
116
117    o	Added setequal() for set equality.
118
119    o	First argument renamed to "package" for library(), require(),
120	provide().
121
122    o	model.frame() now accepts data= arguments that can be coerced to
123	data frames.
124
125    o	Help files can now contain \describe groups.
126
127    o	Hyperlinks in help files can now use LaTeX special characters.
128
129    o	rstandard() now also works for glm objects.
130
131    o	glm drops 0-weight observations when fitting so that the
132	output is compatible with lm.influence() and plot.lm().
133
134    o	New function ftable() for creating and manipulating flat
135	contingency tables.
136
137    o	New function cutree() for cutting hclust trees in package
138	mva.  New functions rect.hclust() and identify.hclust().
139
140    o	Under Unix, the default editor is obtained from the environment
141	variables EDITOR or VISUAL if either is set.
142
143    o	New command line option `--gui' to specify the graphical user
144	interface under Unix.  Currently, possible values are `X11' (the
145	(default) and `GNOME', provided that GNOME support is available.
146	Command line options `-g' and `--gnome' are defunct.
147
148    o	power.t.test() and power.prop.test() functions added for power and
149	sample size calculations.
150
151    o	edit() is now generic and a new edit.data.frame() function
152	calls up the spreadsheet data editor. This is still rather
153	rudimentary, since the data editor really only knows about
154	numeric and character vectors.
155
156    o	Modifications to the data editor so that one can use ESC to
157	quit a partial cell entry and entering an empty cell causes
158	the element to be set to NA.
159
160    o	prop.table() and margin.table() functions (these are *really* trivial).
161
162    o	R INSTALL checks the Depends field of DESCRIPTION if the
163	currently running version of R meets an R
164	dependency. old.packages() reports only packages conforming
165	to the current version of R. New function
166	package.dependencies() for parsing and checking dependencies.
167
168    o	options("expressions") now does something, and the evaluation
169	depth is checked on all platforms (not just Macintosh). This
170	will catch infinite recursions gracefully.
171
172    o	The default number of cons cells (`nsize') is now 350k (it
173	was 250k).  This reflects the added base code and packages,
174	and increases memory usage by about 2Mb (on a 32-bit machine).
175
176    o	Some simple multiple comparison procedures: p.adjust() for
177	generic adjustment of a set of p values by variants of the
178	Bonferroni method; pairwise.t.test, pairwise.wilcox.test,
179	pairwise.prop.test for pairwise comparisons of grouped data
180	and proportions.
181
182    o	Error / warning calls with a long description of the call are
183	split into two lines. (This helps avoid scrolling in the
184	Windows GUI.)
185
186    o	lapply() is now internal and substantially faster (7% overall
187	speed-up on the tests for the base package).
188
189    o	apply() no longer names the output dimensions unless FUN returns
190	a result with names, and the same names for every result.
191
192    o	contour() can (at last) label contours by level.
193
194    o	persp() labels its axes.
195
196    o	scan() and read.table() now have a dec= argument to set the
197	decimal point character. If sep= is set, quoting of strings is
198	now possible and follows the conventions for comma-separated
199	files. This should make it easier to read the "continental
200	CSV" format (fields separated by semicolon and using comma as
201	decimal point).	 The set of quoting characters has also been
202	made optional. Variants of read.table(), read.csv() and
203	read.csv2() have been defined
204
205    o	HDF5 support is gone from the R distribution, and provided by an
206	add-on package available from CRAN.
207
208    o	New function getOption() for retrieving the value of a single
209	option.
210
211    o	read.table.url() and related functions now use download.file,
212	which has an extra "socket" method for direct HTTP socket
213	connection. download.file has new option ``quiet''.
214
215    o	pairs.default() has an oma argument to allow users to override
216	the internal setting of that graphics parameter.
217
218    o	princomp() in package mva allows the user to specify the
219	covariance matrix (and hence use, e.g. cov.mve).
220
221
222BUG FIXES
223
224    o	svd(matrix(2,1,0)),
225	arma0f(NULL), cancor(F,F) and prcomp(F[F]) no longer segfault.
226
227    o	loess.smooth(F[F],F[F]) and supsmu(F[F],F[F]) no longer segfault.
228
229    o	save(1, file = ""[F])  no longer segfaults.
230
231    o	stop(list()) and warning(list()) no longer segfault.
232
233    o	system(""[F]) and save(1, file = ""[F])	 no longer segfault.
234
235    o	Overflow of the pointer protection stack is handled correctly
236
237    o	predict.glm(, type="link", se.fit=T) works
238
239    o	str() now works with Surv(.) objects from library(survival5).
240
241    o	all.equal(-Inf, -1e5) now gives "Mean absolute difference: Inf"
242	instead of "Mean relative  difference: NaN".
243
244    o	strsplit fix broke copy.url.
245
246    o	0 ^ -1 == Inf  and  min(NA, NaN) is now always NA
247
248    o	R CMD xxx sets $R_HOME/bin to be first in PATH
249
250    o	Added more warnings to update.packages & friends. New function
251	old.packages for better control of update.packages.
252
253    o	Adding matrices to data frames now happens column by column as
254	documented, so character or logical matrices generate factor
255	columns.
256
257    o	Formulae containing interactions with the response were
258	handled incorrectly by model.matrix, giving wrong answers or crashes.
259
260    o	anova(lm(.)) with 0 weights now works.
261
262    o	plot.lm(), dffits(), covratio() now do the right thing for weighted
263	lm regression.
264
265    o	formatC(as.integer(c(1,0,NA))) now works. PR#394, thanks to Jens O.-A.
266
267    o	format.char(.) is much faster for long vector argument [Jens O.-A.]
268
269    o	\enumerate now enumerates in text conversion of .Rd files.
270
271    o	glm() no longer fails with names<- errors in cases where
272	observations with fits on the mu.eta boundary have been dropped.
273
274    o	Deviance residuals could be NaN instead of 0 by rounding error.
275
276    o	shapiro.test(x) now gives better error messages (eg. x=rep(1,5))
277	and doesn't print ANYTHING anymore (in some cases).
278
279    o	mode(as.formula(paste("~", paste(1:50, collapse="+")))[2]) now works.
280
281    o	glm() now handles cases with numerically 0 or 1 fitted values in
282	binomial and numerically 0 in poisson correctly. (Previously
283	these observations were dropped even though the variances were
284	also numerically 0.)
285
286    o	(-4 + 0i) ^ (1/2)  now gives 2i.
287
288    o	system.time() now does sensible things in the non-HAVE_TIMES
289	case, and that and proc.time() have better documentation.
290
291    o	A couple of bugs in the data editor spreadsheet have been
292	eliminated.
293
294    o	Elapsed time in proc.time() is no longer rounded to whole
295	seconds under Unix.
296
297    o	Assigning character vectors to subsets of data frames now
298	works correctly (it used to assign the numeric codes of factors).
299
300    o	Extensive enhancements and corrections to the help pages.
301
302    o	The possibility of buffer overruns during printing has been
303	much reduced, and eliminated on systems with vsnprintf.
304
305
306	**************************************************
307	*						 *
308	*	       0.90 SERIES NEWS			 *
309	*						 *
310	**************************************************
311
312
313		CHANGES IN R VERSION 0.90.1
314
315
316NEW FEATURES
317
318    o	rect(.) has `lwd' argument.
319
320    o	legend() has a `adj' argument and has been streamlined (and fixed up).
321
322    o	`unname' convenience function [experimental data.frame behavior].
323
324    o	`examples' sections have been added to the documentation
325	for most of the data sets in the base library.
326
327    o	update.packages & friends have new argument contriburl for
328	incomplete CRAN mirrors. Package bundles such as VR can be
329	directly installed both from the shell and from inside R.
330
331    o	RLIBS is no longer accepted as well as R_LIBS (which has been
332	the documented form since 0.65.0).
333
334    o	demo(nlm) has examples of using analytical gradients and
335	Hessians.
336
337    o	.Platform$OS.type is standardized to be `unix', `mac' or `windows'
338
339    o	setting cex in matplot(matrix(1:25,5), cex=1:5) now works
340
341    o	ar.ols() has separate demean and intercept arguments, uses
342	internal scaling for greater accuracy.
343
344    o	xxxPR functions allow NCHAR=-1 for S compatibility.
345
346    o	`Rcomplex' is preferred to `complex' (a future reserved word
347	in C) for R complex objects passed to C.
348
349    o	new function dir.create() for platform-independence.
350
351    o	help.search() creates a database for faster searching later in
352	the R session.
353
354    o	density() allows for more kernels and has a new argument
355	`give.Rkern' to access the relevant kernel property.
356
357    o	multivariate methods for ar: "yule-walker" (now in C) and
358	"burg" (new) contributed by Martyn Plummer.
359
360    o	New data sets `HairEyeColor' (hair and eye color of statistics
361	students), `Titanic' (survival of passengers on the Titanic),
362	and `UCBAdmissions' (student admissions at UC Berkeley).
363
364
365BUG FIXES
366
367    o	Many help pages have been revised and enhanced.
368
369    o	predict.glm() works again with type="link".
370
371    o	subscripting arrays and matrices no longer loses the names of
372	the dimnames vector.  Transpose also preserves the names.
373
374    o	examples in help files containing \testonly are no longer
375	(partially) duplicated.
376
377    o	is.numeric() of a factor is now FALSE
378
379    o	prevent a segfault in plotmath
380
381    o	f <- get("function"); f(,); f(F,F)  now "ok" (PR#361).
382
383    o	blank-line reject code in parse.dcf was wrong (Martyn Plummer)
384
385    o	made filled.contour independent of pointsize. Make plot key
386	wider so there's room for a title. Touchup example.
387
388    o	font size fixups for the X11 driver (mainly)
389
390    o	some.list[[NA]] is NULL, following S, rather than giving spurious
391	error messages
392
393    o	segfault when running out of heap
394
395    o	segfault in rbind of a vector without names fixed. cbind, too.
396
397    o	fixed symbol size problems with PostScript driver
398
399    o	unique() & duplicated() only work for atomic vectors;
400	unique(data.frame(""[F])) doesn't segfault anymore.
401
402    o	get("attr<-")(""[0],""[0]) doesn't segfault anymore.
403
404    o	blunder in do_memoryprofile, causing segfault on Alpha machines
405
406    o	erroneous error message in coerceToSymbol
407
408    o	partial workaround for workspace restore problems. This can
409	happen if an environment on the search path is assigned to a
410	variable which gets saved. The error "unresolved node during
411	restore" is turned into a warning, allowing the rest of the
412	workspace to be restored, but the variable contains an empty
413	environment on reload.
414
415    o	density(x) now works also when IQR(x) == 0.
416	density(x, window=...) now works [S compatibility].
417
418    o	prevent points from being plotted if pch, cex, or col are NA.
419	Does not apply to bg on pch 21--25 (where NA means
420	"transparent") because it would require fixes at the driver
421	level.
422
423
424		CHANGES IN R VERSION 0.90.0
425
426NEW FEATURES
427
428    o	packages splines (for regression smoothing splines or
429	interpolating splines) and nls (nonlinear least squares) are
430	part of the base distribution.
431
432    o	New error handling using
433	options ( error = expression(..) ,  warning.expr = ... ).
434	REPLACING version 0.65.1's  options(error.halt = T/F)
435
436    o	collected warnings before an error are no longer lost but
437	are printed after the error message (unless the error makes
438	this impossible).
439
440    o	A couple of substantial graphics changes, esp. in the X11
441	driver. The scaling of symbols is now linear in cex=, rather
442	than being tied to the available font's size. The fonts on an
443	X11 device also scale linearly with cex= insofar as your X
444	server can do it. On systems with the scalable type 1
445	PostScript fonts installed, this looks particularly nice. Note
446	that the scaling is linear in the *diameter*, but quadratic in
447	area. The distance between lines of margin text in the X11
448	device is now proportional to the size given to
449	x11(pointsize).
450
451
452    o	abline(a,b) now (again) refers to transformed coordinates on
453	plots with log-axes, so that abline(lm(log10(y)~log10(x)))
454	(say) draws a best-fitting line on a log-log plot. The earlier
455	convention (to draw a curve representing a line in original
456	coordinates) is available using a new untf= argument.
457
458    o	barplot.default() has new `axisnames' (and `sub') arguments, easily
459	allowing suppression of bar labeling.
460
461    o	cbind() and rbind() now actually do what deparse.level=1 implies:
462	add column/row names based on the deparsed argument, provided it
463	is a simple symbol. The behaviour is still hardcoded, though.
464
465    o	gc() now reports the total sizes in Mb as well as numbers.
466
467    o	New function help.search() for searching the names, titles,
468	aliases, or keywords in the help system.
469
470    o	image() allows x and y to specify either the boundaries or the
471	midpoints of the cells. If the latter, the whole cells are
472	drawn, rather than the outer cells being half-sized as previously.
473
474    o	NULL extra arguments to model.frame() are now treated as missing
475	(instead of an error).
476
477    o	optimization with nlm() can use analytic gradients and Hessians
478	if they are supplied.
479
480    o	on.exit() allows add=TRUE.
481
482    o	function parse.dcf() for parsing files in debian control file format
483	(DESCRIPTION, CONTENTS, ...)
484
485    o	predict.{g}lm has a type="terms" option, and residual.glm has
486	type="partial" as a step towards plot.gam().
487
488    o	New arguments to q() and quit() allow the exit status to be set
489	and the execution of .Last() to be skipped.
490
491    o	New function regexpr(), similar to grep but returns the position
492	of the match in each string. (For S-PLUS compatibility.)
493
494    o	scan() now supports complex numbers.
495
496    o	New function sort.list, for S compatibility. (This has argument
497	partial, but always sorts completely.)
498
499    o	storage.mode<- can be used to set "single", and if setting
500	anything other than "single" it removes the "Csingle" attribute.
501
502    o	new function sunflowerplot().
503
504    o	New function undoc() for listing undocumented objects.
505
506
507    o	User's .Rprofile now executes in global environment
508
509    o	All HTML pages now use the new style sheet doc/html/R.css
510
511    o	html and text files have now a header line giving the name of
512	the help file and the package. The description section now
513	comes first.
514
515    o	All the standard packages have DESCRIPTION files with
516	"Priority: base", so installed.packages and
517	package.description will work with them.
518
519    o	The R-external manual which describes programming for the
520	.Call and .External interfaces is in the doc/manual directory.
521
522    o	New target `make pdf' in doc/manuals makes hyperlinked PDF
523	documentation. (This is experimental for this release. See
524	doc/manual/README for further details.)
525
526
527    o	S.h now contains (via Rdefines.h) a MESSAGE macro, and
528	Free NULLs the pointer, for compatibility with S3 (but not S4).
529
530    o	New subroutine REALPR callable from Fortran (like DBLEPR but
531	for real arguments): useful if as.single is in use.
532
533    o	The cex= argument to plot() etc. can be a vector, like pch=.
534
535    o	lty=0 now (again) makes lines invisible. Looks better for
536	barplot label axis.
537
538    o	zero.R tries to find the zero DLL in a system-independent way.
539
540
541BUG FIXES
542
543    o	apply should now work for all un-dimnamed arrays (PR#318).
544
545    o	ar(..., demean=F) works more consistently across methods.
546
547    o	barplot() had lower limits set at -0.01, causing trouble with
548	small heights. Switch to relative scale. (Thanks to Matt Wiener)
549
550    o	density() should work better with NAs and infinite values. See
551	?density for the current definitions of how these are handled.
552
553    o	diag(x) now works (as pre 0.65.1) for 1-d arrays.
554
555    o	Stored-source was dropped by dump().
556
557    o	expand.grid returns a data frame even for one arg.
558
559    o	expand.grid(x) now also works for vector arguments x.
560
561    o	factor(list()) or factor(character(0)) *is* now a factor
562	with valid levels(.);
563	ordered does NOT allow an `ordered' argument anymore
564	and is now defined as trivial call to factor.
565
566    o	help page for gc gives correct size of cons cells (20 bytes
567	for 32-bit systems, 36 or more for 64-bit systems).
568
569    o	gcinfo reports correct percentages of heap even for vsize > 200M.
570
571    o	gl(6,3,12) and gl(6,3,2) now both work.
572
573    o	Empty lists now deparse correctly.
574
575    o	na.omit.ts and na.contiguous preserve classes.
576
577    o	plot.factor {plot(<factor>)} now obeys axes=FALSE and xaxt="n".
578
579    o	read.table(as.is = TRUE) would leave everything as character.
580	Now it correctly tries to convert to numeric.
581
582    o	require() now has the warn.conflicts argument of library().
583
584    o	Fix problems in scan(flush = TRUE).
585
586    o	scan() got confused by trailing whitespace.
587
588    o	split(x,f) now works even when f is a factor with unused levels
589	(PR#294).
590
591    o	mosaicplot() has a formula interface and
592	NULL instead of NA default args.
593
594    o	stars() has "NULL" instead of "NA" defaults.
595
596    o	str() is quite a bit nicer with factors.
597
598    o	ts.union, cbind.ts, arithmetic on ts objects now allow
599	non-integer frequencies.
600
601
602    o	Switch to <tt> in HTML pages since Linux Netscape mangles
603	Courier.
604
605    o	When documentation is "compiled" (build-help), you now get warnings
606	for multiple (conflicting) \alias{.} or \name{.}s.
607
608    o	making the reference manual with `make dvi' copes better with
609	isolatin1 characters (but not perfectly as these are not in
610	standard TeX fonts).
611
612    o	Rd.sty now uses standard LaTeX constructs like \bm for bold
613	math and \url for URLs.
614
615
616    o	Protect R_fopen against NULL filename in Unix.
617
618    o	Math text in outer margins didn't work.
619
620    o	Text clipping now works in the X11 device.
621
622    o	Pixel rows sometimes got doubled in rotated text on the X11 device.
623
624    o	par("yaxt") is now ok.
625
626    o	Problems with realloc on some systems in AllocBuffer.
627
628    o	Problem with formatReal on non-IEEE systems.
629
630    o	demos/dynload/Makefile used macros that gave incorrect build
631	on some non-GNU makes.
632
633    o	Windows version copes better with paths with spaces in.
634
635    o	R CMD check had a typo which made the final message fail.
636
637    o	R_EOF redefined as -1, was causing trouble with isxxxx contructions.
638
639
640
641	**************************************************
642	*						 *
643	*	       0.65 SERIES NEWS			 *
644	*						 *
645	**************************************************
646
647
648		CHANGES IN R VERSION 0.65.1
649
650
651NEW FEATURES
652
653    o	.C, .Fortran. .Call and .External now have an argument PACKAGE
654	to specify the shared library to be used for the symbol. See
655	?Foreign. Package writers are encouraged to use this.
656
657    o	On startup (unless --no-environ), first .Renviron is looked for in
658	the current directory, and then in $HOME/ (= ~/ ).
659
660    o	New options(error.halt = FALSE) (default is TRUE) allows
661	continuation after an error in batch processing.
662
663    o	In graphics, lty has now 6 instead of 4 predefined line types.
664
665    o	as.hclust.twins() in package mva to convert (and plot)
666	objects from agnes() and daisy() of package cluster.
667
668    o	R INSTALL now can directly install pkg_version.tar.gz files
669	as obtained from CRAN. New function update.packages()
670	& friends for automatically downloading packages from CRAN and
671	install them on the fly (on Unix and Windows).
672
673    o	New function commandArgs() to record the command-line used.
674
675    o	New arguments `local' and `now' to dyn.load.
676
677    o	diag(x) now keeps names when appropriate and barfs when x is an array.
678
679    o	functions source.url, url.show, read.table.url, scan.url to read
680	from an http server instead of a file.
681
682    o	grid() gets useful defaults: grid lines drawn at tick marks.
683
684    o	set operations union(), intersect(), setdiff() and is.element().
685
686    o	New function stars() for star plots and segment diagrams of
687	multivariate data.
688
689    o	Version info now in the top-level file `VERSION'.
690
691    o	barplot has a "plot = TRUE" argument and now returns locations of
692	all bars even when "beside = TRUE".
693
694    o	hist has an "nclass" argument purely for S compatibility.
695
696    o	Character strings can now, with most compilers, be passed
697	on and from Fortran. See ?Foreign for details.
698
699    o	Functions as.single and single now have the effect with
700	.C and .Fortran of passing a numeric argument as float/REAL
701	rather than as double/DOUBLE PRECISION, by setting the
702	attribute "Csingle". See ?Foreign for details.
703
704    o	Comparison of strings uses the current locale on systems where
705	this is available, and so is always consistent with the ordering
706	used by sort().
707
708    o	sapply	has a new argument USE.NAMES=TRUE  and now returns a named
709	result when its input was a character.
710
711    o	plot.stepfun  has new arguments	 lty and lwd.
712
713    o	x labels in boxplot now handled differently, so that math
714	expressions are allowed.
715
716    o	postscript() argument `onefile' now does something, and there
717	is a new paper type `special' and new argument `pagecentre'.
718	See ?postscript for details.
719
720    o	Experimental function dev2bitmap() to copy to a bitmap graphics format.
721
722
723BUG FIXES
724
725    o	centering in text() will be more accurate, particularly on devices
726	with full font metric information (postscript, x11, not windows).
727
728    o	arguments after --no-readline in the Unix version were ignored.
729
730    o	couldn't set attributes in hashed environments.
731
732    o	[<-.data.frame mishandled dfr[1] <- 1 (forgotten drop=FALSE)
733
734    o	sys.on.exit didn't work
735
736    o	sys.parent didn't quite work either for n >= 2.
737
738    o	par("mfg") was wrong, par(mfg=) switched to down columns. Now
739	par(mfrow/mfcol = c(nr, nc)) followed by par(mfg=c(i,j)) is
740	the preferred style.
741
742    o	plot( <aov.object> ) failed after 2nd plot, PR#279
743
744    o	Several patches for systems with long != int.
745
746    o	approx failed if inputs contained NAs.
747
748    o	weighted lm fits with 1 diml x failed if any weight was zero.
749
750    o	lm.influence failed when there were undetermined coefficients, PR#280.
751
752    o	problem with function()... inside saved functions because arg count
753	increased to accommodate stored source. (Incorrect number of
754	arguments to "lambda")
755
756    o	improvements to generation of HTML help files: should work
757	better on viewers other than Netscape.
758
759    o	stl in package ts could conflict with package leaps: the Fortran
760	symbols have been changed.
761
762    o	help page for factor is improved and corrected.
763
764    o	na.omit.ts and na.contiguous now preserve time-series attributes.
765
766    o	more automatic testing ("make check") using options(error.halt=FALSE)
767	led to the elimination of dozens (!) of seg.fault possibilities.
768
769    o	family quasi handles zero observations with var=mu^2 more correctly.
770
771    o	dynamically-loaded libraries are searched last-loaded first, as
772	documented (under Unix it used to be first-loaded first).
773
774    o	rowsum failed with a matrix and a single group (drop=FALSE needed).
775
776    o	deriv(y ~ <expr>(x)) now works as well as  deriv(~ <expr>(x)).
777
778    o	qr over-estimated ranks in some degenerate cases.
779	qr did not work correctly if n < p and the first n cols were
780	rank-deficient.
781
782    o	str() wouldn't work quite right for named characters;  doesn't quote
783	symbols anymore.
784
785    o	Colour conversion (rgb, gray, hsv) truncated doubles and so
786	gave machine-dependent results on the examples. It now rounds.
787
788    o	cat() now admits again that it can't handle lists instead of
789	"random" segfaulting.
790
791    o	More accurate rounding (including rounding to even) on platforms
792	without rint (e.g. Windows).
793
794    o	qgeom() is now left-continuous with a tolerance, and so the
795	example on the help page will be platform-independent.
796
797    o	pretty() has been changed to use tolerance around integers and
798	so will be more platform-independent. The exact output has
799	probably changed on all platforms for some input.
800
801    o	image() & filled.contour() now work for 1x1 matrices
802	and with constant z values.
803
804
805		CHANGES IN R VERSION 0.65.0
806
807NEW FEATURES
808
809    o	A first step in improving performance has been made.
810	Attached objects, libraries etc are now hashed; performance
811	gains will be particularly apparent if large packages are in use.
812
813    o	First version of package ts for time-series analysis.
814	This has fairly complete S-PLUS compatibility, but more features
815	are planned. See library(help=ts) for details.
816
817    o	warnings can be collected (options(warn=0), the default), printed
818	immediately (options(warn=1)) or turned into errors (options(warn=2)).
819	As a consequence, all warnings and errors now are printed followed
820	by a newline, if one is not supplied. (This should improve the
821	S compatibility of the use of PROBLEM ... in compiled code.)
822
823
824
825    o	All R environment variables are now of the form `R_xxx'.  In
826	particular, `RHOME', `RLIBS' and `RPROFILE' are now called
827	`R_HOME', `R_LIBS', and `R_PROFILE'.
828
829    o	The handling of q()/quit()/EOF has been changed, with a new option
830	"default".  In interactive use this asks unless --save or --no-save
831	has been specified: if these are specified they set the default.
832
833    o	Limited capability for tilde expansion of file names even without
834	readline (on Unix, and on Windows).
835
836    o	New environment variables `R_HISTFILE' and `R_HISTSIZE' for the
837	name and size of the history file.
838
839    o	Attempting to restore (at startup) too large a .RData is now
840	a fatal error.
841
842    o	The loading of shared library on Unix now uses RTLD_NOW not
843	RTLD_LAZY.  This means that all symbols must be resolvable
844	when the library is loaded, and R will not terminate later
845	when a missing symbol is called.  Code which had missing symbols
846	(including some packages) will need to be re-compiled.
847
848
849
850    o	New generic function all.equal();
851	most useful for numerical comparisons `up to rounding errors'.
852
853    o	New function boxplot.formula() as a formula interface to boxplots.
854
855    o	New functions getwd() and setwd() for getting and setting the R
856	working directory, basename() and dirname() for manipulating paths.
857
858    o	Function locator(, type=) is implemented to plot points or
859	draw lines interactively.
860
861    o	Functions new.env() to create empty environment and local() to
862	allow local evaluation of expressions, with various useful
863	idiomatic uses.
864
865    o	Convenience functions parent.frame() and eval.parent().
866
867
868
869    o	A new scheme for keeping source code with user-defined
870	functions has been implemented. In particular, comments
871	will no longer move about or disappear. The flip side of the
872	coin is that you can no longer rely on R to indent your
873	code for you. The stored-source facility can be turned
874	off with options(keep.source=FALSE), and for an individual
875	function by deleting the "source" attribute.
876
877	If the source attribute is absent, the function will be
878	deparsed for editing or printing, but any comments will be
879	lost.
880
881    o	expressions have gained semantics that are closer to
882	those of S. They don't get evaluated except when explicitly
883	specified. Example:
884
885	e <- expression(x); e[[1]] <- expression(123); eval(e)
886
887	now gives expression(123), not 123. This fixes some problems
888	with expressions in the list argument to do.call().
889
890
891
892    o	contrast() no longer drops colnames for 1DF contrasts.
893	Consequentially, the labels of regression coefficients for binary
894	factors contain level names (again ...).
895
896    o	na.omit() and na.fail() are now generic.
897
898    o	plot.lm() has more options and now does 4 plots by default, should
899	also be okay for "glm" object; all thanks to John Maindonald.
900
901    o	If the dimnames of a table are themselves named, then their names
902	are used to label the respective dimensions in tabular output.
903
904    o	chisq.test() now optionally computes the p-value by Monte Carlo
905	simulation (in the standard case of a 2-d contigency table).
906
907    o	source() has a new argument `chdir' for changing the working
908	directory to that of the file being sourced when evaluating.
909
910    o	If data() loads an R source file, it now changes the working
911	directory (to that containing the file) when evaluating.
912
913    o	Interpret strings NaN and Inf in character to numeric conversions
914	(and thereby in read.table)
915
916    o	The presence of an object `.conflicts.OK' in a package suppresses
917	conflict checking in library() for that package.
918
919    o	uniroot() can now be used recursively.
920
921    o	hdf5{read|write} now allow more kinds of attributes and add support
922	for HDF5 version 1.2 (or newer)	thanks to Marcus G. Daniels.
923	Configure checks for HDF5 1.2 availability, older versions will
924	no longer work.
925
926
927
928BUG FIXES
929
930    o	x ^ y  gives proper results when x or y are infinite.
931
932    o	The semantics of <<- have been corrected.  The search for
933	a variable binding to modify now begins one level "up" from
934	the current one.   Thus S and R semantics in "non-closure"
935	functions will be identical.
936
937    o	.Last() is called when terminating with q() (not just with EOF).
938
939    o	abline() now understands the "lwd" graphics parameter if it
940	is supplied as an inline argument.
941
942    o	axis() now sorts `labels' when it sorts `at'.
943
944    o	Some small changes have made in the axis drawing code to
945	ensure that tick-mark label alignment is correct for
946	non-default values of the "las" parameter.
947
948    o	Improved error message from check.options().
949
950    o	cm.colors(n) now doesn't append silly "v=1"; works for n=0, n=1.
951
952    o	cooks.distance() now also works for "glm" objects;
953	deviance.lm() now ok for the case of weights.
954
955    o	date() doesn't return a final "\n" (again ...).
956
957    o	diag() and diag<- now handle correctly matrices with zero rows or cols.
958
959    o	help([<-.factor) (etc) work again.
960
961    o	is.recursive(list(.)) is now TRUE [PR#221].
962
963    o	log(0) gives -Inf on all architectures.
964
965    o	When persp() was the first graphics command given to R it gave
966	the error "plot.new() has not been called yet".	 This no
967	longer happens.
968
969    o	pgamma() gave 0 or 1 for extreme arguments too soon.
970
971    o	plot(<function>, log="x") doesn't give a silly warning any more.
972
973    o	The internals of postscript() have been changed so that line
974	textures (dotted dashed etc) look better.  The use of the
975	PostScript "initclip" operator has been removed so that we
976	can(?) really claim eps compliance.
977
978    o	revsort() misbehaved if n<=1, causing sample(1,1,,1) to
979	segfault
980
981    o	seq(along = v) { and seq(v) when length(v) > 1 } now returns
982	a result of mode "integer".
983
984    o	split.default() now uses subscripting for x with a non-null
985	class, this preserves, e.g., the class of factors
986
987    o	substr/substring(), deparse(), dput(), dump(), print()
988	will work for arbitrarily long strings.
989
990    o	which(x) failed when x had names and contained NAs.
991
992    o	Default editor files (e.g. from fix()) are now removed at termination.
993
994    o	Typos in NegBinomial.Rd (Negative Binomial distrib), thanks to Ch. Gu.
995
996    o	a clipping problem for plots when there non-zero outer margins
997	has been fixed.	 This problem used to affect coplot() and pairs().
998
999    o	get("zzz", mode="xxx") missed promise objects.
1000
1001    o	match.fun failed when a data frame was attached containing a
1002	"length" variable (e.g.)
1003
1004
1005	**************************************************
1006	*						 *
1007	*	       0.64 SERIES NEWS			 *
1008	*						 *
1009	**************************************************
1010
1011
1012		CHANGES IN R VERSION 0.64.2
1013
1014
1015NEW FEATURES
1016
1017    o	new target for R installation testing :	 make strict-tests.
1018
1019    o	symnum(x) now nicely codes logical x.
1020
1021    o	convolve() has a new type = c("circular", "open", "filter")
1022	argument allowing more than the only circular convolution.
1023
1024    o	par(xpd) now has three settings:  FALSE (clip to plot region),
1025	TRUE (clip to figure region), or NA (clip to device region).
1026
1027    o	zapsmall(x) works for complex x.
1028
1029    o	new global variable R.version.string (for plots & reports).
1030	Deprecated version & Version for new  R.version & R.Version.
1031
1032    o	R CMD Rd2dvi has builtin "Usage" help and works for multiple files.
1033	Useful for automatic reference manual of a package.
1034
1035
1036BUG FIXES
1037
1038    o	power() is now fully implemented and documented.
1039
1040    o	A couple of problems with group generic operations.
1041
1042    o	A bug which meant that it was not possible to add elements
1043	to zero length lists in the obvious way has been fixed.
1044		x <- list(); x[[1]] <- 10
1045		x <- list(); x[["a"]] <- 11
1046	both now work.
1047
1048    o	save.image() ignored dot-names. (esp. .First())
1049
1050    o	lab= argument to plot() misinterpreted by axis() via ... passing
1051
1052    o	NULL labels in text() caused segfault
1053
1054    o	matrix(f,...) with f a factor now coerces to character
1055
1056    o	documentation errors for substitute and is.vector, minor fixups for
1057	trig and nlm
1058
1059    o	Background colours are set properly on X11 devices with
1060	colortype="pseudo": sometimes they were not allocated separately.
1061
1062    o	C() works (again?) for a single argument.
1063
1064    o	is.na() didn't work properly for "list" arguments.
1065
1066    o	symnum() sometimes failed with arrays of rank >= 3.
1067
1068    o	in some cases one could get nonblack color instead of
1069	black on 2nd x11() window.
1070
1071    o	influence.measures(.) $ is.influential was wrong on the
1072	cooks.distance.
1073
1074    o	printing of complex NaN/Inf was wrong as well.
1075
1076    o	printing of complex named vectors had a wrong initial space.
1077
1078    o	allow trailing space in character->numeric coercion
1079
1080    o	library() gave wrong "masked" warnings in some cases.
1081
1082    o	par(xpd) semantics were not compatible with S.
1083
1084    o	rect() output was not clipped in PostScript.
1085
1086    o	par(pin=c(width, height)) was behaving as par(pin=c(width, width)).
1087
1088    o	Non-blank separated data files didn't have their 1st field
1089	handled properly.
1090
1091    o	"aux" directory moved to "tools" to avoid difficulties on
1092	Windows.
1093
1094    o	structure() clobbered factors with missing levels.
1095
1096    o	pmatch() misbehaved on duplicate matches.
1097
1098    o	R CMD Rd2dvi <file.Rd> works again.
1099
1100    o	logical binops tried to set time series parameters before dimensions.
1101
1102    o	upped the BUFSIZE in model.c (NOT proper long-term solution).
1103
1104    o	dput(), dump() and deparse()  now always use DBL_DIG (=15) digits
1105	for numeric formatting.
1106
1107    o	chull() now works for vertical borders, such as in chull(c(1,1,2),3:1).
1108
1109
1110		CHANGES IN R VERSION 0.64.1
1111
1112NEW FEATURES
1113
1114    o	barplot() and boxplot() are now generic
1115
1116    o	relevel function to reorder levels in factors.
1117
1118    o	contr.treatment now has a base= argument for selecting the
1119	baseline group.
1120
1121    o	New command line option `--no-environ' (under Unix) to prevent
1122	sourcing the `~/.Renviron' file.  Implied by `--vanilla'.
1123
1124    o	Packages can now have a configure script.  If a file `configure'
1125	is found it is executed before anything else is done by R
1126	INSTALL.
1127
1128    o	If HTML help files are asked for but not available, text help
1129	is used.
1130
1131    o	HTML help file conversion reports unsatisified \link{..}s.
1132
1133    o	`vsize' and `nsize' can be set by the environment variables
1134	R_VSIZE and R_NSIZE respectively, perhaps most conveniently from
1135	`~/.Renviron' under Unix or Windows.  Command-line settings will
1136	take precedence.
1137
1138	The defaults have been increased to 6M and 250k.
1139
1140    o	zip files can be used for storing help and example files. See
1141	the help files for "help" and "example" for details.
1142
1143    o	New submission method "none" (for not sending email) in
1144	bug.report().
1145
1146    o	`R CMD check' can now also be used for installed packages without
1147	the corresponding sources.
1148
1149    o	The sources for the Windows port are included in src/gnuwin32.
1150	See src/gnuwin32/readme.
1151
1152BUG FIXES
1153
1154    o	deparser left off empty parentheses on e.g. (function(x) x)()
1155
1156    o	cat() now works on "name" objects
1157
1158    o	forgot to set jump buffer in return context in one case
1159
1160    o	parser dropped off tagged missing args on function calls ( f(a=) )
1161
1162    o	relops tried to set time series parameters before dimensions
1163
1164    o	arithmetic tried to set time series parameters before dimensions
1165
1166    o	mvfft fixes (from Martyn Plummer) - not working with vectors and
1167	segfault problem.
1168
1169    o	Rephrased error message on invalid assignment target.
1170
1171    o	ifelse() now evaluates yes/no only if needed
1172
1173    o	PROTECT'ed some memory in NewExtractNames that was getting overwritten
1174	during garbage collection.
1175
1176    o	Crossing factors (`:') works again.
1177
1178    o	terms.formula used to choke on terms more than 60 characters long
1179
1180    o	is.nan() should now work correctly on new/old-style lists.
1181
1182    o	x[[i]] did not work correctly for negative subscripts i.
1183
1184    o	as.list() didn't work for expressions
1185
1186    o	x[[i]] <- quote(a) (x generic vector) didn't work
1187
1188    o	for method functions: many argument name changes, add ... where
1189	needed, for consistency with the generic function.
1190
1191    o	example() will allow (again) aliased topic names.
1192
1193    o	HTML help file conversions will find hyperlinks in the main
1194	library as well as the current library. Links containing `<'
1195	or `>' now work properly.
1196
1197    o	Rdconv conversion of \section{}{}s to Sd corrected.
1198
1199    o	ppois rounded non-integer `q', should truncate.
1200
1201    o	pnbinom was wrong for non-integer `q'.
1202
1203    o	dbinom, dgeom, dnbinom, dpois give 0 with a warning for
1204	non-integer arguments.
1205
1206    o	load / save / data allow unlimited string sizes.
1207
1208    o	strsplit() allows unlimited string size.
1209
1210    o	eigen() now should work (again) in all cases.
1211
1212    o	is.nan() fixed to work (again) in architectures with
1213	"unspecified" internal isnan().
1214
1215
1216		CHANGES IN R VERSION 0.64.0
1217
1218NEW FEATURES
1219
1220    o	Files BUGS and FAQ are now included with distribution and
1221	various "front matter" files have been cleaned up.
1222
1223    o	readline has now an argument  prompt = ""
1224
1225    o	coplot() now labels levels when conditioning variable is factor
1226	(John Maindonald).
1227
1228    o	A new function filled.contour() has been added.	 It produces
1229	a variant of contour plots where the area between contours
1230	is filled with a solid colour.	The function (currently)
1231	uses the layout() function and so is restricted to a full
1232	page display.
1233
1234    o	The function terrain.colors() has been modified to remove a
1235	visual discontinuity (at yellow).  In addition, a function
1236	cm.colors() which implements a Cleveland-style cyan-magenta
1237	palette has been added.
1238
1239    o	Primitive function .External() to call dynamically loaded
1240	`internal'-style functions (code from Jean Meloche).
1241
1242    o	Function page() to view an R object in a pager.
1243
1244    o	Support for handling embedded '\n's in text strings
1245	handed to low-level graphics functions has been added.
1246	Some changes to the PostScript graphics driver were
1247	needed to support this, so there may some minor change
1248	in the appearance of plots produced in PostScript.
1249
1250    o	The LaTeX documentation is now split into 2 parts: the (currently
1251	almost non-existent) manual and a reference index.
1252	Manual: new section on loading C++ code.
1253
1254    o	[EXPERIMENTAL] Gnome support added. Use ./configure --with-gnome
1255	to try it, but don't expect too much yet.
1256
1257    o	HDF5 support improved. Still not perfect, though.
1258
1259    o	The X11 graphics driver can now use a variety of strategies
1260	for handing color.  This means that it is now possible to
1261	use black and white or grayscale graphics on color displays.
1262	There are two strategies for handing color on pseudocolor
1263	displays.  The original "allocate-colors-until-they-run-out"
1264	strategy has been supplemented by one which allocates a
1265	color cube at startup and approximates requested colors
1266	by those in the cube.  On truecolor displays, there is no
1267	limit on the number of colors which can be displayed and
1268	you get exactly the color you request.	(Note that
1269	Directcolor and staticcolor displays are not supported yet).
1270
1271    o	The persp() function now allows shading of the rendered	surface
1272	using a simple lighting model.
1273
1274    o	Many functions providing an interface to the operating system
1275	have been made "platform independent".	See the manual entries
1276	for "file", "list.files" and "file.show" for details of the new
1277	interface.  The system.file() interface has been changed.
1278
1279    o	There is a new function "eval.with.vis" which behaves exactly
1280	like "eval", but which returns both the result of the evaluation
1281	an a logical value indicating whether the value is ``visible''.
1282	This has been used to replace some ad-hoc tests for whether
1283	value should be printed or not in "source".  As a consequence,
1284	the "example" and "demo" functions no longer print invisible
1285	values when the example script is run.
1286
1287    o	Index files in data directories in packages should be `00Index'
1288	not `index.doc'.
1289
1290    o	Function interaction() to compute factor interactions.
1291
1292    o	load() can load to specific environments.
1293
1294    o	Sockets interface: make/read/write/close.socket()
1295
1296    o	Function chull() for planar convex hulls
1297
1298    o	pairs.formula() allows formula notations for scatter plot matrix.
1299
1300    o	new dataset co2.
1301
1302    o	documentation for datasets mtcars, plants, pressure, randu and
1303	sleep.
1304
1305    o	the sunspots dataset is now monthly rather than annual.
1306
1307BUG FIXES
1308
1309    o	strsplit(), scan() and friends use a much larger char buffer
1310	 (still fixed size; this will change again)
1311
1312    o	ts() allows a data-frame argument `data'.
1313
1314    o	anova.lm handles singular models better, and deparses responses.
1315
1316    o	dump() now uses digits=12 rather than the current setting.
1317
1318    o	tabulate ignores entries beyond nbins rather than core dumps.
1319
1320    o	?.C documents what C/Fortran types R objects correspond to
1321	in foreign function calls, which is not what everyone thought.
1322
1323    o	changed long to int in several .C calls to follow the above rules.
1324
1325    o	rbind(x1,x2) now does not lose dimnames when xi are
1326	character or complex.
1327
1328    o	readline() accidentally inherited menu()'s prompt.
1329
1330    o	.C() and .Fortran() now correctly report that there might be
1331	NaN/Infs, not just NAs, unless NAOK=TRUE.
1332
1333    o	Resizing an inactive graphics window to an invalid size left
1334	that window active and produced a spurious prompt and newline
1335	in the console window.	This no longer happens.
1336
1337    o	poly() rescales x to increase accuracy
1338
1339    o	apply() preserves names in yet another case [-> new example].
1340
1341    o	phyper() now works for larger arguments than before.
1342
1343    o	Missing values didn't work in log plot
1344
1345    o	outer() doesn't produce all-empty dimnames any more
1346
1347    o	quantile.default() works when `probs' has zero length
1348
1349    o	example() now works again in all cases [AnIndex spaces].
1350
1351    o	typos fixed in nlm() message, glm help
1352
1353    o	pt() now works better for extreme `df' arguments and gives
1354	at least an approximate answer for ncp > 37.6. __more to change__
1355
1356    o	fixed some glitches with formatC() and its docs.
1357
1358    o	several fixes in *.c code to make -Wall happy
1359
1360    o	curve() [and plot.function()] now use proper `x' values with log="x";
1361	`type = "."' now works with curve() and plot.function()
1362
1363    o	zapped old windows files since they didn't build any more.
1364	The sources for the later gnuwin32 version are expected to
1365	appear here for 0.64.1. The #ifdef Win32's here are for that
1366	version.
1367
1368
1369	**************************************************
1370	*						 *
1371	*	       0.63 SERIES NEWS			 *
1372	*						 *
1373	**************************************************
1374
1375
1376		CHANGES IN R VERSION 0.63.3
1377
1378NEW FEATURES
1379
1380    o	get() and assign() allow position in search list to be a
1381	character string. (e.g. get("delete.response","package:base")
1382
1383    o	HTML search now works for all packages (after new installation).
1384
1385    o	R INSTALL now also copies DESCRIPTION file to target dir.
1386
1387    o	offsets should work with lm as well as with glm now
1388
1389    o	range() is now in the Summary group, trunc() back in the Math
1390	group.
1391
1392    o	Under Unix, R-specific environment variables can now be kept/set
1393	in `~/.Renviron'.
1394
1395    o	New options `latexcmd' and `dvipscmd' for specifying the locations
1396	of LaTeX and dvips; corresponding environment variables renamed to
1397	`R_LATEXCMD' and `R_DVIPSCMD'.
1398
1399    o	--vsize & --nsize now both give size in "single units"
1400	(bytes/cons cells) with possible
1401	suffixes "M" (Mega), "K"ilo (1024) and "k"ilo(1000).
1402
1403    o	[pdqr]negbin() now also work with non-integer 'size' [by Ben Bolker].
1404
1405    o	New standard package `lqs' for resistant regression and
1406	covariance estimation, contributed by Brian Ripley.
1407
1408    o	new functions match.fun() and kronecker() [by Jonathan Rougier]
1409
1410    o	par(las = 3) is a new option.
1411
1412    o	new function jitter()  [slightly more useful than S's].
1413
1414BUG FIXES
1415
1416    o	system(command, intern=FALSE, ignore.errors=FALSE)
1417	changed 1st & 3rd argument names and is better documented.
1418
1419    o	"/Font5 /Symbol findfont definefont" confused some printers
1420
1421    o	Bounding box rotated 90 deg for landscape (shouldn't be)
1422
1423    o	Legend skipped symbol for pch=0
1424
1425    o	compilation on non-Intel Linux systems no longer looks for __setfpucw
1426
1427    o	a %% b -- is now periodic instead of symmetric; more S compatible.
1428
1429    o	locator(n=512) -- default: MANY points, not just one.
1430
1431    o	qqnorm() uses ppoints() and returns list with x sorted along y.
1432
1433    o	plot.formula now allows ylab to be set
1434
1435    o	plotmath had trouble with paste()'ing expressions
1436
1437    o	plotting math expressions now also works for objects of mode
1438	"call" (in particular on the result of substitute())
1439
1440    o	locator() on log axes: value antilogged twice
1441
1442    o	(a real oldie - and trival too) is.recursive now TRUE for
1443	expressions
1444
1445    o	sanitised delete.response
1446
1447    o	x[["a",]] could crash R
1448
1449    o	strwidth() crashed R if no device open
1450
1451    o	predict inconsistencies with offsets straightened out
1452
1453    o	tapply goofed when FUN returned named scalar
1454
1455    o	[.factor now retains contrasts attrib.
1456
1457    o	hist() had trouble with plotting math
1458
1459    o	HTML indices get only built when installing a package to RHOME
1460
1461    o	subscripting with a length zero logical no longer bombs.
1462
1463    o	as.ordered(NULL) now returns an "ordered" object.
1464
1465    o	--debugger .. now gives a warning if other command line args are used
1466
1467    o	pt(t, df, ncp) now also works for bigger ncp's
1468
1469    o	apply(a,d, fun) now passes vectors (rank 1 arrays) to fun.
1470
1471    o	model.frame() with subset and only one column fixed
1472
1473    o	boxplot(<data.frame>) now works again.
1474
1475    o	dyn.load(..) failing gives more informative error message.
1476
1477    o	Ops.factor:  not error, but a warning + NAs
1478
1479    o	bug.report() keeps report file if can't be e-mailed
1480
1481    o	Ops.data.frame :  things like  d.fr < a	  now return a matrix
1482
1483    o	data.frame():  duplicated row.names now give a warning when dropped.
1484
1485    o	boxplot(.., ylim=..) or (.., axes=..)  gave erronous warning
1486
1487    o	glm had wrong init code for models with offsets. Also fixed
1488	so that linear predictor includes offset, also when predicting.
1489
1490    o	predict.glm didn't work with se=T
1491
1492    o	backsolve(), qr.solve... now return a vector when x (or y) is a vector.
1493
1494    o	string tags now converted to symbols and strange symbolic
1495	tags print as strings, cf. e<-quote(c(F=2, "tail area" = .5)), etc.
1496
1497    o	row.names(.) <- val  doesn't allow duplicated values anymore.
1498
1499    o	library(mva)'s dist() now works with both "euclidean" & "euclidian"
1500
1501    o	revised curve function to avoid using grep patterns that caused
1502	problems under Solaris 2.6
1503
1504    o	coplot() now has 'number' and 'overlap' arguments, and should work
1505	in more situations. [by John Maindonald and MM].
1506
1507    o	save(..ascii=TRUE) now uses "full precision" for numerics.
1508
1509    o	as.array() preserves names()
1510
1511    o	outer() works for general array args and preserves (dim)names.
1512
1513    o	print.factor and print.ordered now return their args invisibly.
1514
1515
1516		CHANGES IN R VERSION 0.63.2
1517
1518NEW FEATURES
1519
1520    o	sink() has new `append' argument.
1521
1522    o	new function rle().
1523
1524    o	plot(.) and  curve(.) also accept a function as first argument.
1525	new `plot.function'.
1526
1527    o	new function loglin().
1528
1529    o	pretty() has new arguments and now better "obeys" its `n' arg.
1530	Internal GPretty() [implicitly used by	axis(.., at = NULL,..)
1531	now uses pretty.
1532
1533    o	new generic function aggregate() with methods for data frames
1534	and time series.
1535
1536    o	data set `euro' with Euro conversion rates.
1537
1538BUG FIXES
1539
1540    o	model.frame(,subset=) no longer loses contrasts
1541
1542    o	`make install' copied the R shell script a second time without
1543	getting RHOME right (thus also breaking R CMD check).  Fixed.
1544
1545    o	help() after help.start() did not work if topic was not equal
1546	to filename (e.g. rnorm is found in Normal.html)
1547
1548    o	fix the 0.63.1 fix for abbreviate(.);  improved doc.
1549
1550    o	predict.mlm(.) couldn't have worked with `newdata'.
1551
1552    o	model.frame/na.omit bug for matrices and Surv objects.
1553
1554    o	mean( <data.frame> ) now doesn't return sum(.) anymore.
1555
1556    o	str(.) doesn't give extraneous "..." in rare cases anymore.
1557
1558    o	Added documentation for group methods ("Math", "Ops","Summary").
1559
1560    o	R_PAPERSIZE is used for Rd2dvi and at configure time for the
1561	`make dvi' parts.
1562
1563    o	hist(i) now also works for e.g., i = -1, 0, or 1.
1564
1565    o	range() now works on dataframes (uses c(..., recursive=T))
1566
1567    o	pretty(.) does not loop infinitely anymore in very extreme cases.
1568
1569    o	math functions should work better on dataframes now
1570
1571    o	plot(.., type = 'h', log = 'y')	 now works ...
1572
1573    o	plot.factor(x, y, ...) of two factors now makes
1574	barplot(table(y,x), ...)
1575
1576    o	use object$prior.weights in add1.glm, drop1.glm (Brian Ripley)
1577
1578    o	rnorm(1,mean=m,sd=0) returns m, not NaN (Ben Bolker)
1579
1580    o	runif(n, a,a) now returns  rep(a,n) instead of NaNs.
1581
1582
1583		CHANGES IN R VERSION 0.63.1
1584
1585NEW FEATURES
1586
1587    o	new function mosaicplot().
1588
1589    o	xy.coords(.) has a  "recycle = FALSE" argument,	 used in text().
1590
1591    o	RNGtype() allows to choose different Random Number Generators.
1592		__EXPERIMENTAL__
1593
1594    o	print.default(.) now also works with a `right = TRUE' argument.
1595	{{ print.matrix(.) is bound to become deprecated... }}
1596
1597    o	new help page `Memory' on the usage of command line options
1598	--vsize and --nsize. Error message if R runs out of memory
1599	points to help(Memory).
1600
1601    o	rowsum() and improved na.omit() added from survival4
1602
1603    o	backsolve(.) has new arguments "upper.tri = TRUE, transpose = FALSE"
1604
1605    o	hist() has new "right = TRUE" argument;
1606	"right = FALSE" gives  [a,b) intervals
1607
1608    o	help() has "htmlhelp" argument, allowing to suppress htmlhelp after
1609	help.start().  This is desired for ESS.
1610
1611    o	quantile(.) has an "names = TRUE" argument for speed.
1612	It is much better documented now.
1613
1614
1615BUG FIXES
1616
1617    o	build-help --dosnames should now also work for text help,
1618	latex and examples.
1619
1620    o	seq() should work better now (fuzz-factor 1e-7 inserted)
1621
1622    o	multiple arguments to return caused value to be a pairlist
1623
1624    o	data.frame choked on long names from deparse()
1625
1626    o	data.edit now works (dataedit doesn't need pairlist()s anymore)
1627
1628    o	as.pairlist(NULL) is ok
1629
1630    o	ts(1:5, start=2, end=4) now work.  Further plot(ts(..), ts(..))
1631
1632    o	eigen() returns $vectors in any case [S compat].
1633
1634    o	apply(cbind(1,1:9, 2, quantile) doesn't drop quantile names anymore
1635
1636    o	array(1, dim=(1:3)[c(F,F,F)]) is now valid == array(1,NULL) == c(1);
1637	the same for array(a,d, list())
1638
1639    o	fix problem with step() and offsets
1640
1641    o	drop attributes on matrix subsetting
1642
1643    o	kappa(.) now works [dtrco now in load table (ROUTINES)].
1644
1645    o	pmin() and pmax() now preserve attributes.
1646
1647    o	handle null models arising in drop1(), step, etc.
1648
1649    o	partial matching problem with $ indexing
1650
1651    o	matplot(.) works with lwd (vectors)
1652
1653    o	par("cex.axis") now has the desired effect...
1654
1655    o	which(.) now omits NAs in its argument.
1656
1657    o	rbind.data.frame caused character-to-factor coercion a bit too often
1658
1659    o	couple of messups in dotplot
1660
1661    o	z[[1]] <- ~x probl fixed as suggested by J.Lindsey
1662
1663    o	do_modelframe could lose contrast attributes
1664
1665    o	"make check" needed standardisation of locale
1666
1667    o	unlist(...,recursive=F) got names wrong
1668
1669    o	abbreviate(.) does not anymore return random garbage in some
1670	cases [by Guido M.]
1671
1672
1673		CHANGES IN R VERSION 0.63
1674
1675NEW FEATURES
1676
1677    o	library(... , warn.conflicts = TRUE)
1678	now prints all conflicts arising from attaching the given package.
1679
1680    o	new  .Platform	variable  for better modularizing
1681	platform dependence. __This_is_"beta"_and_bound_to_be_changed___
1682
1683    o	new arguments to colnames(..) and
1684	rownames(x, do.NULL = TRUE, prefix = "row").
1685			   _
1686    o	par(bty = "]") for _| box(.) in plots.
1687
1688    o	New standard package `modreg' (smoothing and local MODern
1689	REGression methods) contributed by B.D. Ripley.
1690
1691    o	par() has a `no.readonly = FALSE' argument which allows more
1692	sensible  op <- par(no.readonly = TRUE);  on.exit(par(op)).
1693
1694    o	Real Bessel functions of 1st to 3rd kind, of arbitrary order:
1695	besselI(), besselK(), besselJ(), besselY() are the I(), K(),
1696	J(), and Y() Bessel functions.
1697
1698    o	New conflicts() function from B.D. Ripley
1699
1700    o	uniroot has a new `maxiter' argument and returns #{iter} and
1701	precision.
1702
1703    o	New option `show.coef.Pvalue' (default: TRUE).	If FALSE,
1704	print.summary.[g]lm does not print P values.
1705
1706    o	New `R --vanilla' is equivalent to
1707	  R --no-save --no-restore --no-site-file --no-init-file
1708
1709    o	gc() has now a `verbose' argument and returns a matrix with free
1710	and total n- and v-cells(heap).
1711
1712    o	New example(<foo>) function runs the \emph{Examples} R code of
1713	<foo>.	example() calls source() which now has a `verbose'
1714	instead of `debug' argument.
1715
1716    o	experimental functions [as.|is.|]pairlist() for the few old-style
1717	dotted pair lists [undocumented].
1718
1719    o	options(check.bounds = TRUE) makes sub-assignments which
1720	"stretch" a vector give a warning [dropped undocumented
1721	check.bounds() function].
1722
1723    o	Makefiles should now conform (mostly) with the GNU Coding
1724	Standards.  In particular, `make install', `make uninstall'
1725	and `make install-strip' now work.
1726	Also, it is now possible to build R in a non-source directory.
1727
1728    o	which() preserves names and has a new `arr.ind' argument
1729	allowing for array indices.
1730
1731    o	New functions {d,p,q,r}signrank for the Wilcoxon signed rank
1732	distribution, and {d,p,q,r}wilcox for the Wilcoxon (rank sum)
1733	distribution.
1734
1735    o	Command line options GNUified a bit further.
1736	New command line option `--verbose' for printing more
1737	information about progress.
1738	Command line options `--vsize' and `--hsize' as replacements
1739	for `-v' and `-n' which are now deprecated.
1740	Added `--silent' as synonym for `--quiet'.
1741	Short-style option `-V' obsolete.
1742
1743    o	Added bug.report() to generate & send bug reports from
1744	within R.
1745
1746    o	The PostScript device driver now uses the ISO Latin1 font
1747	encoding.  This should allow Western Europeans to render
1748	their languages correctly.  It is likely that additional
1749	encodings will be added (e.g. Latin2) when we figure out
1750	how to set the correct font encoding in printers.
1751
1752    o	The mathematical annotation code has been reworked.  Italic
1753	correction works better.  Additional functionality will be
1754	added.
1755
1756    o	"sample" now has an optional "prob" argument which gives the
1757	probabilities of sampling each element in the vector being
1758	sampled.  The present implementation is based on some code
1759	from E. S. Venkatraman <venkat@biosta.mskcc.org>.
1760
1761    o	The internal data structure used to represent lists has
1762	changed from being based on dotted pairs to generic vectors.
1763	Users should see no changes as a result (with the exception
1764	of some efficiency gains in list operations).
1765
1766    o	Subscripting matches that of S more closely.  It is now
1767	possible to use subscripting beyond that the end of vectors
1768	and lists.
1769
1770    o	Element labelling in "c" and "unlist" should match that of
1771	of S.
1772
1773    o	Added split.screen etc functions for manipulating multiple
1774	screens on a single device
1775
1776    o	After help.start() the HTML help system is used for all help()
1777	requests. The name of the browser is now controlled by
1778	options("browser").
1779
1780    o	Added kmeans to package mva (donated by B. Ripley)
1781
1782    o	New persp function added.  It is NOT compatible with S (yet)
1783	and is subject to internal and interface changes.
1784
1785    o	gctorture() for torturing the garbage collector to reveal
1786	memory protection bugs. (Call GC on every memory allocation).
1787
1788    o	B. Ripley's aov code (and more) has been added. This includes:
1789
1790	- aov() now handles models with Error terms, multiple
1791	  responses.
1792
1793	- proj(), model.tables(), se.contrast(), replications(),
1794	  eff.aovlist() are implemented for aov fits, and where
1795	  appropriate for lm fits.
1796
1797	- dummy.coef(), with methods for lm and aovlist fits.
1798
1799	- add1(), drop1(), step() for stepwise fitting of statistical
1800	  models, with default, lm and glm methods.
1801
1802	- summary() and deviance() -- mlm methods.
1803
1804	- kappa()  (for estimating condition numbers)
1805
1806	- labels() to find a suitable set of labels from an object
1807
1808	- C() for setting the contrasts of a factor
1809
1810	- anova(), plot(), summary() and deviance() methods for mlm fits
1811
1812    o	eval() semantics changed when envir= is a list. A 3rd argument is
1813	now allowed, specifying the enclosure (i.e. where R looks for
1814	variables *not* found in envir=) it defaults to the calling
1815	environment (was .GlobalEnv). Note that when used inside a function,
1816	it is often desirable to set the enclosure to the parent
1817	environment instead. [ eval(e, data, sys.frame(sys.parent())) ]
1818
1819
1820BUG FIXES
1821
1822    o	min(NULL); max(double())  now give warnings.  range() gives NA.
1823
1824    o	substring("", NULL) no longer segfaults.
1825
1826    o	formatC(.) now takes default "width = 1" when both width and digits
1827	are unspecified.
1828
1829    o	several fixes in internal axis and tickmarks setup for
1830	"extreme" ranges and values, especially for "log" scaling.
1831
1832    o	seq(a,a, by=b) now works properly.
1833
1834    o	print.data.frame(.) now calls print.matrix instead of print(.)
1835	which finally enables the 'right = TRUE' argument.
1836
1837    o	R --help  gives more
1838
1839    o	postscript() now uses 'hyphen' instead of 'plusminus' for a minus.
1840
1841    o	source(..., echo=TRUE) now puts a `"' if necessary after truncation.
1842
1843    o	Changes to the PostScript device driver mean that the volume
1844	of output has been reduced to about a third of what it was.
1845
1846    o	Fixes and restructuring to name generation in connection with
1847	unlist() and c().
1848
1849    o	Many bugs found and fixed in the memory allocation / garbage
1850	collection area. In particular, the parser was sometimes
1851	UNPROTECT()ing the wrong pointers.
1852
1853    o	lm(y[g=="1"]~x[g=="1"]) caused memory corruption
1854
1855
1856		CHANGES IN R VERSION 0.62.4
1857BUG FIXES
1858
1859    o	plot.default(.) has now 'sub' argument which eliminates
1860	"Warning: parameter "sub" couldn't be set in high-level plot() function"
1861
1862    o	formatC(numeric(0)) now works.
1863
1864    o	menu(.) works for empty imput
1865
1866    o	0i ^ 2	now gives  0+0i as it should.
1867
1868    o	ppoints() now behaves like S, and has additional argument 'a'
1869
1870    o	seq(1,6,by=3) and similar "by" calls now work okay
1871
1872    o	mahalanobis(.) now fixed; does *NOT* have default arguments for
1873	center and cov anymore.
1874
1875    o	diag(.) doesn't return non-sensical dimnames anymore.
1876
1877
1878		CHANGES IN R VERSION 0.62.3
1879
1880NEW FEATURES
1881
1882    o	preserve factor levels and contrast settings in model objects
1883
1884    o	factor[...,drop=T] reduces level set
1885
1886    o	added dblepr, intpr
1887
1888    o	do_modelmatrix(model.c): Set rownames from data argument.
1889
1890    o	New generic function preplot().
1891
1892    o	A new R BATCH interface for non-interactive execution.
1893
1894    o	Added `offline' argument to help() for producing hardcopy via
1895	latex and dvips.
1896
1897    o	glm.fit.null now calculates AIC and print.glm.null prints it
1898
1899    o	effects.lm implemented
1900
1901    o	new class "mlm" for multivariate "lm", predict.mlm to go with it
1902
1903    o	"Details" section added to .Rd format
1904
1905    o	R_PRINTCMD and R_PAPERSIZE can now be set via users' environment,
1906	overriding setting in startup script.
1907
1908    o	enhanced identify()
1909
1910    o	new function print.coefmat()
1911
1912    o	added unix() as .Deprecated("system")
1913
1914    o	date() replacing system.date()
1915
1916
1917BUG FIXES
1918
1919    o	substitute would re-substitute after expanding ...
1920
1921    o	indexing modified object in some cases
1922
1923    o	sweep should work again on dataframes
1924
1925    o	minor changes in aov()
1926
1927    o	builds should now actually work on systems that do not add
1928	underscores to Fortran symbols
1929
1930    o	biplot[.default]() was redundant in "base" package; now only in "mva".
1931
1932    o	unix(..) now helps the user to find  system(..) instead.
1933
1934    o	apropos("[") and methods("[") now both work (even though "[" is not
1935	a valid regular expression).
1936
1937    o	row.names<-.default now exists. Converts object to data
1938	frame and then adds row names
1939
1940    o	codes() now distinguishes between ordered and unordered factors
1941
1942    o	codes() had *opposite* semantics of Splus. Now it's the same.
1943
1944    o	replicating factors now yields factors (again)
1945
1946    o	print.summary.xxx  functions more consistent, using new function
1947	print.coefmat().
1948
1949    o	Changed many `T' to `TRUE'  and	 `F' to `FALSE' in the base package.
1950
1951    o	binary operation on 1x1 matrix lost dimension
1952
1953    o	fix anova.glm for null model
1954
1955    o	glm.fit.null: ensure df.residual == df.null for a null model
1956
1957    o	summary.glm: correlations in saturated cases
1958
1959    o	stat.anova: use match.arg and labeled switch statement
1960
1961    o	Major cleanup of glm iteration code
1962
1963    o	Correct reordering of glm coefficients if pivoting
1964
1965    o	Rownames on contrast matrices
1966
1967    o	factor() and [.factor preserves class "ordered"
1968
1969    o	Code rearrangement in predict.lm (avoid unnecessary computation)
1970	+ let rownames through on predictions
1971
1972    o	model.matrix.default: Initial code to define model frame
1973	simplified considerably after defaulting data argument to
1974	sys.frame(sys.parent()).  This also removes the problem where
1975	data.frame mangles I(x^2) and similar names, so that the
1976	"reorder" sanity check at the end fails.
1977
1978    o	The handling of extra FORTRAN libraries (f2c-related and BLAS)
1979	should now be correct.	Via SHLIBLDFLAGS, add-ons will also be
1980	linked against these libraries.
1981
1982    o	Modified makefiles so configure followed by "make distclean"
1983	should restore the source tree to its original form.
1984
1985    o	a leftover "colours <- colors" caused trouble when collating
1986	sequence changes caused files to go into the "base" file in a
1987	different order
1988
1989		CHANGES IN R VERSION 0.62.2
1990
1991(The new functions predict.glm, poly, aov, alias, biplot.default and
1992biplot.princop, update.default and rug all come from Brian D. Ripley,
1993who is also responsible for finding and/or fixing a lot of the bugs)
1994
1995NEW FEATURES
1996
1997    o	predict.glm() added.
1998
1999    o	text() is generic.
2000
2001    o	update.default() (replaces update.glm() and update.lm()).
2002	(This will only work if you comment out update.lm and
2003	update.glm in the sources, or disable them with
2004	update.lm<-function(object,...)NextMethod(), etc.)
2005
2006    o	predict.lm() changed towards S-plus compatibility. Intervals are
2007	still available via interval= argument.
2008
2009    o	zapsmall() function.
2010
2011    o	polygon() now handles NAs
2012
2013    o	options(show.signif.stars = TRUE).  If FALSE,
2014	summary.lm and similar functions do *not* print significance stars
2015	anymore.
2016
2017    o	poly() for [g]lm modelling.
2018
2019    o	aov()	for Analysis Of Variance [anova].
2020
2021    o	alias() for displaying ``aliased'' factor levels in (>=2)way anova.
2022
2023    o	mva: Now has  biplot and biplot.princomp
2024
2025    o	rug() plot.
2026
2027    o	new  src/library/profile/Common.R   for	 OS-independent intialization.
2028
2029    o	new date stamp mechanism (ensures that prerelease versions carry
2030	correct date)
2031
2032BUG FIXES
2033
2034    o	abbreviate() now always retains the first letter.
2035
2036    o	attr() partial matches for attribute name.
2037
2038    o	axis() accepts graphical parameters.
2039
2040    o	binomial() accepts factor responses.
2041
2042    o	cbind() works with data frames.
2043
2044    o	contrasts() gives simpler labels (like S) for factors with
2045	two levels.
2046
2047    o	contrasts<-() now has a how.many= argument.
2048
2049    o	contour() and image() can accept a list to specify the matrix.
2050
2051    o	contr.poly() uses orthogonal polynomials (like S) not raw
2052	polynomials.
2053
2054    o	data() could fail with a partial match to the dataset name.
2055
2056    o	density() works correctly if from= or to= are used.
2057	    n= can now take any value, not just a large power of 2.
2058
2059    o	expand.grid() now accepts more than two arguments,
2060	or a list of factors.
2061
2062    o	factor() and ordered() handle their levels argument better.
2063
2064    o	family.glm() now returns the correct family (including link etc).
2065
2066    o	legend() now knows about lwd.
2067
2068    o	match.args() works correctly for default arguments.
2069
2070    o	model.frame.lm() did not invoke `lm'.
2071
2072    o	model.matrix() calls model.frame() if needed.
2073
2074    o	model.response() now returns names, so glm() gives names to
2075	residuals, fitted values, etc.
2076
2077    o	quasi() works in glm() (was missing aic component).
2078
2079    o	seq() sometimes omitted the final value due to rounding error.
2080
2081    o	terms.formula() and update.formula() now resolve `.' in formulae
2082	and tidy up `(a + b) - b' etc.
2083
2084    o	... is now passed down correctly to functions inside functions.
2085
2086    o	save.image didn't work (Martyn Plummer)
2087
2088    o	abs() instead of fabs() in seq.c crashed R on Digital Unix
2089
2090    o	model.matrix() gagged on variables with complicated names
2091
2092    o	saturated models acting up in glm
2093
2094    o	various improvement of build procedures
2095
2096    o	rbind(NULL, matrix) core dump
2097
2098    o	density() default 'bw' now 0.9*(...) instead of 1.06*(...)
2099				[=Silverman's rule of thumb].
2100
2101    o	detach(2) now works.
2102
2103    o	format() doesn't drop names anymore.
2104
2105    o	format.pval() works with NAs.
2106
2107    o	print.[summary.][g]lm() functions print numbers better formatted.
2108
2109    o	legend() now also works properly in  log coordinates.
2110
2111    o	backsolve() now working;  bakslv.c not depending on
2112	Fortran_underscores.
2113
2114    o	Tick marks acting up on log axes in postscript (fix from Martyn
2115	Plummer)
2116
2117    o	The Rd format has a new section \details{} (needed for proper
2118	Sd2Rd translation). \R was not understood for nroff
2119	conversions, longer dashes (-- and --- in latex syntax) are
2120	now converted properly.
2121
2122    o	prompt.default() now carries "\details{}".
2123
2124    o	R [ SHLIB | COMPILE ] were broken on some Solaris systems
2125	due to use of bash syntax. R [ INSTALL | COMPILE | SHLIB ]
2126	now use a MAKE environment variable if present.
2127	R INSTALL only rebuilds man pages if they are not already
2128	up to date.
2129
2130
2131		CHANGES IN R VERSION 0.62.1
2132
2133BUG FIXES
2134
2135    o	Accidentally shipped R-0.62 without the tests and  etc/Rdoc
2136	directories.
2137
2138
2139		CHANGES IN R VERSION 0.62
2140
2141NEW FEATURES
2142
2143    o	Many more help(.) pages.
2144
2145    o	The top level Makefile now supports the usual
2146	   ./configure; make; make install
2147	procedure (new make targets `all' and `install').
2148
2149    o	The HTML help pages can now be searched for keywords.
2150
2151    o	Conversion of functions to and from lists. formals<- and body<-.
2152	The alist() function makes it easier to construct argument lists,
2153	etc. Added expression-->list coercion.
2154
2155    o	complex(.) now has optional 'argument' and 'modulus' arguments,
2156	allowing ``polar coordinate'' specifications.
2157
2158    o	layout() documented and improved: starts default device if needed, and
2159	returns number of figures.
2160
2161    o	New find() function [relying on apropos(..)].
2162
2163    o	objects(<integer>) now works, being equivalent to
2164	objects(pos=<int.>).
2165
2166    o	storage.mode() and related functions now return
2167	"double" instead of "real", for compatibility.
2168	"real" is still allowed as synomym for "double".
2169
2170    o	A `tests' directory has been added (in the source), and "make
2171	tests" has been modified to run more than all the examples from
2172	the base package.  The exact `make tests' behavior is still
2173	bound to change.
2174
2175    o	An experimental directory `etc/Rdoc' has been added with a perl5
2176	module to parse R documentation files.	Sample perl programs
2177	to use this module are also included.
2178
2179    o	All internal mechanisms to support factors and data.frames have
2180	been removed.  These are now entirely supported by interpreted
2181	code!  `is.unordered' has been eliminated.  Thanks to John
2182	Chambers for allowing the distribution of his StatLib code.
2183
2184    o	"pmatch" is now completely S compatible and is not just another
2185	name for "charmatch".
2186
2187    o	There is now a function called ".Alias" which can be used to
2188	provide multiple names for the same object.  Example:
2189		lm2 <- .Alias(lm)
2190	This is dangerous because it can be used to defeat the
2191	call-by-value illusion.
2192
2193    o	Many functions changed from <primitive> to .Internal(..).
2194	Currently, new .Internal(.)s in ..library/base/R/New-Internal.R
2195	Primitive functions are now printed as ``.Primitive(..)''.
2196
2197    o	[dpqr]hyper(.) now also work with some 0 arguments.
2198
2199    o	C-code: Many "-Wall" fixes (MM & DB).
2200
2201    o	mva's dist() now takes arguments diag and upper which control
2202	how the distance matrix is printed. plot.hclust() now takes a
2203	labels argument.
2204
2205    o	Attributes are now propagated correctly in binary operations.
2206	Changes from:
2207	  Steve Oncley and Gordon Maclean
2208	  National Center for Atmospheric Research
2209	  Boulder, Colorado USA
2210
2211    o	configure now also checks for fort77.
2212
2213    o	Usage of R INSTALL now is
2214	  R INSTALL [options] [-l lib] pkg_1 ... pkg_n
2215	The +/- options were replaced by GNU-style `--no-docs' and
2216	`--no-text', `--no-html', and `--no-latex'.
2217
2218    o	Usage of R REMOVE now is
2219	  R REMOVE [options] [-l lib] pkg_1 ... pkg_n
2220
2221    o	Usage of R COMPILE now is R COMPILE [options] srcfiles, where
2222	through options one can set e.g. CFLAGS or FFLAGS.
2223
2224    o	Usage of R SHLIB now is R SHLIB [-o libname] files, where the
2225	file names can be that of source or object files.
2226
2227    o	A new R CMD interface allows invokation of executables in
2228	$RHOME/{etc,cmd} without installing them or setting paths.
2229
2230    o	Data files are now also documented using the Rd format, all
2231	data documentation in the base package has been converted
2232	accordingly. Rd files for data have a \keyword{datasets} as
2233	identifier.
2234
2235    o	new function mahalanobis() for Mahalanobis distance
2236
2237    o	quantile.default() now handles Inf's correctly.
2238
2239    o	New command line options `--enable-blas' and `--enable-readline'
2240	to configure.
2241
2242    o	pretty(x) is more reasonable when max(x)-min(x) < 1e-10 max(|x|),
2243	and has a new argument "shrink.sml" for that case.
2244
2245    o	formatC(.) supports a new "fg" format for flexible
2246	non-exponential formatting.
2247
2248    o	etc/build-htmlpkglist has been integrated into etc/build-help
2249	(option --htmllists)
2250
2251    o	family	gaussian(.) and inverse.gaussian(.) both accept several
2252	link arguments [J.Lindsey].
2253
2254    o	The graphics function "tck" now produces effects just
2255	like those in S (e.g. par(tck=1) now produces grid lines).
2256	Since using "tck" produces nasty results in some circumstances
2257	there is also an alternative parameter "tcl" which defines
2258	the tick length in terms of lines of text.  The default
2259	setting is par(tcl=-0.5).
2260
2261    o	menu() now takes additional arguments `graphics' (currently
2262	unused) and `title'.
2263
2264    o	New function plot.formula().
2265	plot.factor() now produces boxplots when given 2 arguments.
2266
2267    o	New function write.table().
2268
2269    o	signif() now has a `digits' default of 6.
2270
2271    o	Old-style long command line options (`-save' etc) changed to
2272	GNU-style (`--save' etc).
2273	Debugging options (`-ddd', `-gdb', `-xxgdb') unified into the
2274	new `--debugger' (`-d').
2275	New command line options `--version' (`-V') and `--help' (`-h')
2276	which print useful information and exit.
2277
2278    o	The loading of profiles at startup now works as follows.
2279	Unless the new `--no-site-file' was given, a site profile is
2280	sought (as specified via the environment variable `RPROFILE',
2281	or if this is unset defaulting to `${RHOME}/etc/Rprofile'.
2282	Then, unless the new `--no-init-file' was given, the user
2283	profiles (`.Rprofile' and `~/.Rprofile') are sought.
2284
2285    o	New functions subset() and transform() intended primarily to
2286	make life with dataframes easier.
2287
2288    o	debian directory has been added so Debian GNU/Linux packages can be
2289	created from raw source.
2290
2291    o	The graphics system has been through a major overhaul.
2292	It is now possible to have multiple active device drivers
2293	and to control them with full suite of dev.xxx() functions
2294	available in S.	 Display lists are now kept for interactive
2295	devices.  When an on-screen graphics window is resized,
2296	the content of that window is redrawn at the new size.
2297	At present only X11 and PostScript graphics device drivers
2298	are available, but more are on the way.
2299
2300    o	On systems using IEEE arithmetic, the builtin Inf and NaN
2301	values are now recognised and used.  NA and NaN should
2302	propagate correctly in computations, with NA dominating
2303	in computations involving both quantities.
2304	E.g. NA+NaN is NA.
2305
2306    o	Some of the t, F, and chisq distribution/probability functions
2307	now allow a noncentrality parameter `ncp'.
2308
2309    o	Functions ptukey() and qtukey() provide the distribution and
2310	quantile functions for the maximum of several studentized
2311	ranges.
2312
2313    o	system.file()  [now documented] returns all files matched by
2314	wildcards.
2315
2316    o	data() now supports more file formats: .RData for binary
2317	files, .txt or .tab for data to be read by
2318	`read.table(file, header=TRUE)' and .csv for data to be read
2319	by `read.table(file, header=TRUE, sep=";")'
2320
2321    o	Rdconv: new tabular environment, new sections `\format' and
2322	`\source', new output format `-type Sd' for S documentation
2323
2324    o	.First.lib() now implemented; called by library() after loading
2325	a package.
2326
2327    o	print.summary.[g]lm() now give `significance stars' and a symbolic
2328	correlation matrix.
2329
2330    o	new is.R() function.
2331
2332    o	glm() now also returns an AIC value [from JL].
2333	print..glm methods indicate the options()$contrasts in some cases.
2334	In summary.glm(..., correlation=..), the default has been changed to
2335	corr. = FALSE  which is consistent with	 summary.lm().
2336	predict() now works again for glm objects.
2337
2338    o	the `flag' argument in formatC(.) can now have more than one
2339	character.
2340
2341    o	nlm() returns the number of iterations used [from J.Lindsey].
2342
2343    o	cut, diff, hist, mean, quantile, seq, trunc()  are now all generic.
2344	cut() has an `include.lowest' argument as S.
2345
2346    o	save.image() as short-cut to save the current session in .RData.
2347
2348    o	new design of HTML help pages, including an index of all
2349	functions from all installed packages.
2350
2351    o	new editor function pico()
2352
2353    o	matrices and arrays can have zero extents
2354
2355BUG FIXES (many of which resulted from the added features...)
2356
2357    o	atanh(.) now works
2358
2359    o	summary(glm) and summary(lm) now use compatible names.
2360
2361    o	[pq]tukey(.) now working.
2362
2363    o	title() now handles main=, sub=, xlab=, ylab= with embedded
2364	newlines correctly.  This is partly a change in title and
2365	partly a change in the underlying graphics code.
2366
2367    o	min(.), max(.), sum(.)	now return integer for integer arguments.
2368
2369    o	which(.) now returns integer.
2370
2371    o	Rd files: leading whitespace of lines in user-defined sections
2372	was not correctly removed by Rdconv
2373
2374    o	sign(.) works again.
2375
2376    o	[.data.frame segfaulted if arg. wasn't a data frame
2377
2378    o	"R --no-readline" now again gives proper prompts.
2379
2380    o	demos/zero.R  dyn.load(.) now should be working more easily.
2381
2382    o	mode(.) now returns "(" for a "parentheses 'call'".
2383
2384    o	Bug fix in mva dist.c for method binary (gave "invalid
2385	distance"). plot.hclust failed for data without row names.
2386
2387    o	R INSTALL should work (again) now when `pkg' is a relative file
2388	name.
2389
2390    o	.not.yet.implemented() now takes an arbitrary number of args.
2391
2392    o	Plotting of dendrograms is working again.
2393
2394    o	data.frame(.) now uses "1:n" as default row.names.
2395
2396    o	image(.) and contour(.) now also work called as, e.g., ``image(z)''.
2397
2398    o	the first argument of axis(.) is now called `side' as in S.
2399
2400    o	format(NULL) now works.
2401
2402    o	minor fix in symnum.
2403
2404    o	hist() now is more compatible to S, has a new `labels' argument,
2405	and should work ok for non-equidistant breaks.
2406
2407    o	plot(-1) now labels properly.
2408
2409    o	Many small code changes (eliminating extraneous variables, nested
2410	comm.) in C code in order to satisfy `gcc -Wall' [Doug Bates].
2411
2412    o	model.extract() will now extract arbitrary model frame arguments.
2413
2414
2415    o	list of currently loaded libraries (.Dyn.libs) not saved
2416	from session to session (really, this time)
2417
2418    o	rhyper works with vectorisation, degenerate cases.
2419
2420    o	printing of objects in lists now dispatches methods correctly
2421
2422		CHANGES IN R VERSION 0.61.2
2423
2424BUG FIXES
2425
2426    o	pretty(999) resulted in an infinite loop due to integer overflow.
2427	pretty(.) now sometimes returns different results than before.
2428
2429    o	pi:6  returned integer, instead of real.
2430
2431    o	[.data.frame caused segfault if called with non-dataframe argument
2432
2433    o	hist() now is more compatible to S, has a new `labels' argument,
2434	and should work ok for non-equidistant breaks.
2435
2436    o	lgamma(-1e7) segfaulted.
2437	gamma(.) and lgamma(.) now give proper results for negative integers.
2438
2439    o	formatC(pi,dig=20,wid=2) segfaulted.
2440
2441    o	quantile(..., pr = c(1,2,5)/1000)  gave all names as "0%".
2442
2443    o	In 0.61.1, model.matrix was fixed to pay attention to the names of
2444	the names of its data arg, but the data arg was defaulting to an
2445	unnamed list, so  model.matrix(~x)  failed...
2446
2447    o	Indexing with [[]] and a zero-length vector segfaulted.
2448
2449    o	Coercion of factors as in S-plus
2450
2451    o	dyn.load statement in demos/dynload/zero.R fixed
2452
2453    o	Factors could get allocated without the OBJECT bit, which
2454	nearly drove Kurt mad trying to write plot.factor...
2455
2456    o	Fixed confidence limit problem in t.test
2457
2458		CHANGES IN R VERSION 0.61.1
2459
2460NEW FEATURES
2461
2462    o	None (by definition, x.y.z releases are bugfix releases now)
2463
2464BUG FIXES
2465
2466    o	Return statements of the form return(x,y) will now return
2467	a list with named components.
2468
2469    o	Parsing of nested "if" statments was broken.  This is fixed now.
2470	(Reported by Paul Gilbert).
2471
2472    o	Wrong declaration of ConsoleBufCnt in src/main/scan.c caused crash
2473	in Irix (George White <gwhite@bodnext.bio.dfo.ca>)
2474
2475    o	if(nmatch = 0) bug in src/main/character.c fixed (Doug Bates)
2476
2477    o	R_alloc/S_alloc fixes. The former allocated 4 times more than
2478	needed, the latter zeroed half of what it got, sizeof() mistakes
2479	in both cases.
2480
2481    o	c(ordered factor) caused segfault (uninitalised pointer), now
2482	fixed.
2483
2484    o	behaviour of as.numeric() on factors changed recently; now
2485	documented.
2486
2487    o	model.matrix() now pays attention to the names on its dataframe
2488	argument.
2489
2490    o	Fixes to group methods.
2491
2492    o	autoload() caused infinite loop if function  wasn't found in
2493	library on loading
2494
2495    o	The pager ate the rest of stdin in batch mode, now fixed. Also,
2496	stdout was not flushed before call to system(). "make tests"
2497	should work now.
2498
2499    o	Empty directories now created by configure (so that it doesn't
2500	matter that "CVS export" doesn't do it)
2501
2502    o	as.name() made idempotent (i.e. if is.name(x) then as.name(x)==x)
2503
2504    o	3 problems with glm, 2 in glm.fit and a one in print.glm fixed
2505	[Jim Lindsey]
2506
2507    o	binomial (family) now works when 'n=0'. [J.Lindsey]
2508
2509    o	split() now also works in split(1:10,1:2)
2510
2511    o	strsplit() now also works for strsplit(c,NULL)
2512
2513    o	A LANG='..' environment variable no longer affects  scan()ing of
2514	numbers.
2515
2516    o	seq(.) doesn't segfault anymore in  gl(2,3):gl(1,6)
2517
2518    o	contour(.) now also works with integer arguments
2519
2520
2521		CHANGES IN R VERSION 0.61
2522
2523We try to make development more flexible by creating a "CVS branch". This
2524should make it easier to produce patches for obvious bugs in the releases,
2525without having to wait for changes in other areas to stabilize.
2526
2527NEW FEATURES
2528
2529    o	New functions "all.vars" and "all.names" added.
2530
2531    o	There has been a small change in the include file structure.
2532	All include files now live in RHOME/src/include and are
2533	copied to RHOME/include when needed.
2534
2535    o	The "noquote" functions are now documented.
2536
2537    o	A new `language' demo, "is.things", is provided.
2538
2539    o	symnum(.) function
2540
2541    o	The files in R/library/base/data have had a .R suffix added.
2542
2543BUG_FIXES
2544
2545    o	A nasty bug which showed when attempt was made to create
2546	a zero length call has been fixed.
2547
2548    o	model.matrix(.) now allows a  contrasts argument.
2549
2550    o	barplot(.) now also works for barplot(table(rpois(100,3))).
2551
2552    o	make clean ; make    now should work;  ./Makefile.in eliminated
2553
2554    o	format(.) is now generic;  the default method has a `digits' argument.
2555
2556
2557		CHANGES IN R VERSION 0.60.1
2558
2559NEW FEATURES
2560
2561    o	"split" is now a generic function, with a method for data frames.
2562	(contributed by Doug Bates).
2563
2564    o	S compatible functions "all.names" and "all.vars" added.
2565
2566
2567
2568BUG FIXES
2569
2570    o	A file was closed multiple times if an error message occurred
2571	after sourcing a file.	In some versions of Linux this caused
2572	a core dump.
2573
2574    o	The inclusion <readline/history.h> was causing problems with
2575	some versions of readline because the file did not exist.
2576	This is now detected by configure.
2577
2578
2579
2580		CHANGES IN R VERSION 0.60
2581
2582R is about to become an official part of the GNU project.
2583To quote RMS (Richard Stallman)
2584
2585		``I hereby dub R GNU software!''
2586
2587
2588NEW FEATURES
2589
2590    o	There has been a major change in directory structure
2591	masterminded by Kurt Hornik.
2592	library(.) now attaches ``package''s which are better
2593	integrated, see "?library".  Packages may be available from outside
2594	the RHOME path via the .lib.loc variable.
2595
2596    o	The documentation format (of files in src/library/<package>/man/ )
2597	has changed to a more easily parsable LaTeX like format.
2598	The doc files now all end in `.Rd'.
2599	etc/Rman2Rd  can be used to translate old-style documentation to
2600	the new one.
2601	The translation to *roff, LaTeX and HTML is now done using
2602	etc/Rdconv, written in Perl by Fritz Leisch.
2603
2604	The HTML online help produced has now links which work.
2605	The manual (in doc/manual/) now includes a section on the
2606	documentation format and on mathematical text in graphs.
2607
2608	etc/ further contains `Sd2Rd' for (partial) translation of S `.d'
2609	documentation to Rd, and
2610	`Rd2txt' and `Rd2dvi' for easy previewing of single Rd files.
2611
2612    o	The use of "names" on one dimensional arrays will now produce
2613	sensible results.  This means that for most purposes,
2614	one dimensional arrays can be treated like vectors.
2615
2616    o	We have a applied a patch from mward@wolf.hip.berkeley.edu
2617	which should substantially improve the speed of (vector)
2618	arithmetic.
2619
2620    o	The modeling formula handler has been expanded so that it
2621	accepts y ~ 0 + x as a "through the origin" specification.
2622	models with no parameters are now acceptable.
2623
2624    o	"cov", "cor" and "var" now produce a matrix result if either
2625	of their x or y arguments is a matrix.	Dimnames are propagated
2626	in a sensible fashion.
2627
2628    o	New chisq.test(.) and prop.test() from Kurt Hornik.
2629
2630    o	New read.fwf(.) for reading fixed width format (KH).
2631
2632    o	New str(.) [alternative to summary(.) for programmers] (MM).
2633
2634    o	New example data sets "esoph", "infert" and "anscombe" (TL),
2635	"iris3" (KH) and "stackloss" (MM).
2636
2637    o	source(.) has several new arguments, notably ``echo = FALSE''.
2638	This is applied in the new function  demo(.) which runs all the
2639	code in demos/ (but dynload).
2640
2641    o	strheight(.) is new, accompanying strwidth(.).
2642	Both now work for mathematical expressions (Paul Murrell).
2643
2644    o	The LaTeX version of the manual (-> doc/manual/) now has an index.
2645
2646    o	EVERY *.Rd file in src/library/base/man/ has now at least one \keyword
2647
2648    o	New package (`library(.)') "stepfun" for step functions, incl.
2649	empirical distributions.
2650
2651
2652BUG FIXES
2653
2654    o	Regular expression matching is now done with system versions
2655	of the regexp library.	This should fix compilation problems
2656	on some platforms.
2657
2658    o	"approx" and "approxfun", have had some minor adjustments.
2659	which fix the interpretation of the rule= argument.  The
2660	code for piecewise constant case is now internal C code
2661	that than interpreted.	This should boost performance in
2662	this case.
2663
2664    o	There has been a minor fixup of "model.frame" to ensure that
2665	subsets, weights, etc are handled properly.
2666
2667    o	Model fitting of the form
2668
2669		 lm(y~., data=df)
2670		glm(y~., data=df)
2671
2672	will now work.	The RHS of the model will consist of an
2673	additive model containing all (non-response) variables in the
2674	given data frame.
2675
2676    o	The following type of assignment to data frame subsets
2677
2678		z <- data.frame(x=rnorm(10),y=rnorm(10),z=rnorm(10))
2679		z[,1:2] <- matrix(1:20,nc=2)
2680
2681	was producing incorrect results.  The solution was to wrap
2682	an implicit "as.data.frame" around the RHS.
2683
2684    o	"[.data.frame" no longer has a default drop=TRUE argument.
2685	This means that subsetting a data frame with "[" will always
2686	yield a data frame.
2687
2688    o	There was a swap of coordinates internally in "mtext" which
2689	meant that labels were coming out in the wrong place.  Fixed.
2690
2691    o	Syntax errors in parse(text="...") would cause R to terminate
2692	with a segmentation violation.	This no longer happens, although
2693	the result is still not perfect (the parse() returns).
2694	This will be fixed by a future parse rewrite.
2695
2696    o	rainbow, topo.colors, etc., now also work with n in {1,2};
2697	don't return duplicate neighbor colors anymore.
2698
2699    o	legend has new `text.width' argument and now also works with
2700	mathematical expressions as text.
2701
2702    o	hist() now works better, has a `plot = TRUE' argument, and returns
2703	something useful.
2704
2705    o	barplot() improved for `names', now returns vector of midpoints.
2706
2707    o	lm(), lm.fit, lm.wfit (was `lm.w.fit'):	 Made more compatible.
2708	Dealing with (close to) collinear situations is still not flexible
2709	enough.
2710
2711    o	internal postscript() improved (missing lines in boxplot(.)).
2712
2713    o	Improvement to many (even most ?) documentation (.Rd) files.
2714
2715    o	Numerous other fixes of minor things ...
2716
2717
2718
2719		  CHANGES IN R VERSION 0.50
2720
2721WARNING!!!
2722
2723 o  A change in the way that "expressions" are implemented means that
2724    saved data images which contain expressions will probably not
2725    restore properly.
2726
2727NEW FEATURES
2728
2729 o  The installation of documentation has now been streamlined.
2730    Many manual entries have been revised.
2731
2732 o  "expressions" are now implemented as a basic type rather than as
2733    a class of object.	This change was made as move toward compatibility
2734    with S and also to implement mathematical annotation in graphs.
2735    For some examples of the latter, see ?text and ?title.
2736
2737 o  "eigen" can now handle complex and non-symmetric matrices.
2738
2739 o  Libraries are now attached by loading their code into newly created
2740    environment frames on the search path rather than in with the general
2741    system code.  This means that libraries can be unloaded as well as
2742    loaded.  They can also have .First.lib and .Last.lib functions.
2743    The variable .Libraries has been replaced by .library() but should not
2744    be needed much anymore.
2745
2746 o  There is now an experimental function called "delay" which creates
2747    a promise to evaluate an expression.  This provides direct access
2748    to the lazy evaluation mechanism used by R.
2749
2750 o  >>>>  'make tests'	 allows to test--run all the help() examples.
2751
2752 o  New functions   matplot / matpoints / matlines.
2753
2754 o  cut has 2 new arguments. 'right = TRUE' gives intervals closed on the
2755	right, open to the left (as S); 'right = FALSE' allows to reverse
2756	this. The code for default label construction has been enhanced,
2757	and can be controlled by the new argument 'dig.lab'.
2758
2759 o  legend(.) has 2 new arguments 'cex' (obvious) and 'merge = FALSE'.
2760	-> ?legend.
2761 o  deparse  has a 2nd argument allowing for a kind of line width.
2762 o  There is now print.density (method).
2763
2764 o  many help(.) pages have been updated with working examples,
2765	and several new ones have been created.
2766
2767 o  influence.measures() and lm.influence now allow to get at the usual
2768    regression diagnostics.
2769
2770BUG FIXES
2771
2772 o  The "is.object" function has been with drawn.
2773
2774 o  A bug which prevented the "pictex" graphics driver from working
2775    has been fixed.
2776
2777 o  Regression diagnostics obtained with "lm.influence" now work when
2778    there are weights.	This means they should work for glms.
2779
2780 o  There was a problem in parsing files from statements which were
2781    separated from following statements by ";" (e.g. data(iris); iris).
2782    This is fixed.
2783
2784 o  Comments are handled better in functions.  The rule is that they
2785    are shifted to just before their statements.  Comments after the
2786    last statement of a function are lost.
2787
2788 o  It is now possible to perform complicated mutations of expressions.
2789    For example
2790	e <- quote(f(x=1,y=2))
2791	names(e)[[2]] <- "a"
2792    will change the x= argument tag into a=.  In the past this produced
2793    odd error messages.
2794
2795 o  The length function now tries to return a "sensible" value for all
2796    the built-in types.	 For example, symbols now have length 1.
2797
2798 o  "update" should now work in both "lm" and "glm" models.
2799
2800 o  The functions Re, Im, Mod, Arg and Conj will now accept real-valued
2801    arguments and return the obvious results.
2802
2803 o  Minor graphics cleanup.
2804
2805 o  A fix for convergence problems in glm from Thomas Lumley included.
2806
2807 o  A new version of qt() should not take infinitely long to get an
2808    answer in the large degrees if freedom case.  The underlying code
2809    (Hill 1970, CACM) appears to be much faster and more accurate than
2810    Splus.
2811
2812 o  A final Newton step has been added to give a final "polish" to
2813    the quantiles produced by pnorm().	These should be close to full
2814    accuracy now.
2815
2816 o  A bug in qbeta found by Martin Maechler has been fixed.  This should
2817    speed up quantile computation for the F and Beta distributions.
2818    Further improvements in qbeta(.) by MM.  No infinite loops anymore.
2819
2820 o  rainbow(.) now allows "start > end" indexing the "color circle".
2821    topo.colors(n), terrain.colors(n), heat.colors(n) now also work for n=1,2.
2822
2823 o  ?"+" now works.
2824
2825 o  tapply has been fixed as indicated by T. Lumley.
2826