The R Project SVN R

Rev

Rev 73403 | Rev 85907 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
52495 ripley 1
\name{CHANGES}
2
\title{Windows-specific changes to R}
3
\encoding{UTF-8}
53348 ripley 4
 
59230 murdoch 5
\section{CHANGES IN R VERSIONS > 2.15.0}{
6
  \itemize{
7
    \item Windows-specific changes will now be announced in the
8
    common NEWS file.
58945 ripley 9
  }
10
}
11
 
58578 ripley 12
\section{CHANGES IN R VERSION 2.15.0}{
57464 ripley 13
  \subsection{NEW FEATURES}{
14
    \itemize{
57973 ripley 15
      \item The 32-bit and 64-bit builds are now treated equally, as it
16
      is anticipated that 64-bit R will soon be (if not already) the
58002 ripley 17
      more commonly used.  This entails:
57973 ripley 18
 
19
      The \command{Rterm} or \command{Rgui} title mentions 32-bit as
20
      well as 64-bit.
21
 
22
      The desktop icons are labelled \code{R i386} and \code{R x64}.
57551 ripley 23
 
57973 ripley 24
      \command{R CMD INSTALL} for a package with compiled code will fail
25
      if compilation fails for any of the installed sub-architectures:
26
      use \option{--no-multiarch} to override this.
27
 
57551 ripley 28
      \item \code{postscript(file = "|cmd")} now works on Windows.
57995 ripley 29
 
30
      \item \code{file.symlink()} is now implemented on NTFS file
31
      systems on Vista or later, for accounts which have suitable
58002 ripley 32
      permissions (and most will not).  It can link existing
33
      directories, and existing-or-not files.
34
 
58022 ripley 35
      \item There is a new function \code{Sys.junction()} to create
36
      junction points on NTFS file systems.
58571 ripley 37
 
38
      \item C-level error formats now use the trio library, and so for
58578 ripley 39
      example output \samp{1.53e-11} (as required by C99) rather than
58571 ripley 40
      \samp{1.53e-011}.
57470 ripley 41
    }
42
  }
57670 ripley 43
 
58155 ripley 44
  \subsection{INSTALLER}{
45
    \itemize{
58252 ripley 46
      \item The installer has many fewer options with more files always
58621 ripley 47
      being installed, as a few Mb of file space is nowadays no longer
48
      an issue.
58250 ripley 49
 
58252 ripley 50
      \item It is now possible to select \sQuote{64-bit Files}
51
      from the standard installer even on a 32-bit version of Windows.
58155 ripley 52
    }
53
  }
54
 
57670 ripley 55
  \subsection{PACKAGE INSTALLATION}{
56
    \itemize{
58181 ripley 57
      \item As the current toolchain uses only 32-bit executables, it is
58062 ripley 58
      possible to compile a package for both architectures on 32-bit
58088 ripley 59
      Windows provided both architectures of \R have been installed: use
58621 ripley 60
      \command{Rcmd INSTALL --compile-both}.
61
 
62
      \item \code{Rcmd INSTALL --merge-multiarch} will work (but do a
63
      normal install) if only one architecture is installed.
57670 ripley 64
    }
65
  }
58757 murdoch 66
 
67
  \subsection{BUG FIXES}{
68
    \itemize{
69
      \item Due to a race condition, some graphics changes were not
70
      flushed to the display if another graphics window was closed at
71
      nearly the same time.  (Reported by Michael Sumner.)      
72
    }
73
  }
57470 ripley 74
}
75
 
58385 ripley 76
\section{CHANGES IN R VERSION 2.14.2}{
57470 ripley 77
  \subsection{NEW FEATURES}{
78
    \itemize{
57961 ripley 79
      \item \code{bitmap()} and \code{dev2bitmap()} look for
80
      \command{gswin64c.exe} (as used by 64-bit GhostScript), in
81
      preference to \command{gswin32c.exe}.
82
    }
83
  }
58006 murdoch 84
 
58146 ripley 85
  \subsection{INSTALLATION}{
86
    \itemize{
87
      \item The sources (and packages) can now be compiled using the
58181 ripley 88
      multilib toolchain developed for \R 2.15.x: see the
89
      \samp{MULTI} macro in \file{MkRules.dist}.  This toolchain is used
90
      for the CRAN binary distribution.
58146 ripley 91
    }
92
  }
93
 
58181 ripley 94
  \subsection{PACKAGE INSTALLATION}{
95
    \itemize{
96
      \item The preferred toolchain has changed since the one used for
97
      \R 2.12.0 to 2.14.1: see the\sQuote{R Installation and
98
      Administration manual}.  Compiled code (except DLLs) may be
99
      incompatible with previous toolchains (and compiled C++ code
61769 hornik 100
      almost certainly will be: users of \CRANpkg{Rcpp} take care).
58181 ripley 101
 
102
      Ensure that the settings in \file{MkRules.local} are appropriate
103
      to the toolchain you use.
104
 
105
      \item There is a new macro (aka make variable)
106
      \samp{SHLIB_PTHREAD_FLAGS}.  This is set to \option{-pthread} on
107
      builds using toolchains which support it, and should be included
108
      in both \samp{PKG_CPPFLAGS} (or the Fortran or F9x equivalents)
109
      and \samp{PKG_LIBS}.
110
    }
111
  }
112
 
58006 murdoch 113
  \subsection{BUG FIXES}{
114
    \itemize{
115
      \item Using a prompt of more than 80 characters in
116
      \code{readline()} could cause a buffer overflow in Rterm.
117
      (Reported by Henrik Bengtsson.)
58385 ripley 118
 
119
      \item Some of the custom messages in the installer were corrupted:
120
      add a BOM mark to the file as now required by Unicode Inno Setup.
121
      (\PR{14816})
58006 murdoch 122
    }
123
  }
57961 ripley 124
}
125
 
126
\section{CHANGES IN R VERSION 2.14.1}{
127
  \subsection{NEW FEATURES}{
128
    \itemize{
57464 ripley 129
      \item The \code{Save as} menu item on the script
57670 ripley 130
      editor adds extension \file{.R} to a file name without an extension.
57505 ripley 131
 
132
      \item In package \pkg{parallel}, \code{detectCores(logical =
133
	FALSE)} makes an OS-dependent attempt to find the number of
57670 ripley 134
      physical cores.  It usually succeeds, even on XP.
57464 ripley 135
    }
136
  }
57573 ripley 137
 
57711 ripley 138
  \subsection{PACKAGE INSTALLATION}{
139
    \itemize{
140
      \item The directory pointed to by \env{USER_LOCAL} can now have
141
      architecture-specific sub-directories \file{lib/i386} and
142
      \file{lib/x64}.
143
    }
144
  }
145
 
57573 ripley 146
  \subsection{BUG FIXES}{
147
    \itemize{
58092 hornik 148
      \item The fix for \PR{14543} caused stack problems with outputting
66444 hornik 149
      large \R objects (e.g., data frames of 25,000 items).  (\PR{14698})
57574 ripley 150
 
57670 ripley 151
      \item In a double-byte locale (Chinese, Japanese, Korean),
152
      \code{grep()} and friends might have used byte-wise matching of
153
      strings in the native encoding.  (\PR{14622})
57573 ripley 154
    }
155
  }
57464 ripley 156
}
157
 
57132 ripley 158
\section{CHANGES IN R VERSION 2.14.0}{
55045 ripley 159
  \subsection{NEW FEATURES}{
160
    \itemize{
161
      \item The \code{yLineBias} of the \code{windows()} family of
162
      devices has been changed from 0.1 to 0.2: this changes slightly
163
      the vertical positioning of text (including axis annotations).
55480 ripley 164
      This can be overridden by setting the new \code{"ylbias"} graphical
57083 ripley 165
      parameter.  This was done for consistency with other devices
166
      such as \code{pdf()}.
55478 ripley 167
 
168
      \item \command{R CMD build} once again attempts to preserve file
169
      permissions on Windows.
55639 ripley 170
 
55650 ripley 171
      \item There is support for cairographics-based devices using the
55657 ripley 172
      same code as on Unix-alikes.  This can be selected by the new
173
      \code{type} argument of the bitmap devices \code{bmp()},
55702 ripley 174
      \code{jpeg()}, \code{png()} and \code{tiff()}, and devices
175
      \code{svg()}, \code{cairo_pdf()} and \code{cairo_ps()} are now
176
      available on Windows.
55650 ripley 177
 
57083 ripley 178
      These are not compiled in by default when building from source:
179
      see the instructions in the \sQuote{R Installation and
180
	Administration Manual}.
55652 ripley 181
 
55695 ripley 182
      \item All the Windows-specific graphics devices now have a
183
      \code{family} argument.  If non-empty this specifies an initial
184
      family to be used for fonts 1--4.  If empty the fonts specified in
185
      the \file{Rdevga} configuration file are used for the Windows GDI
186
      devices and \code{"sans"} for cairographics-based devices.
55702 ripley 187
 
188
      This will generally be a Windows font name such as
189
      \code{"Lucida Bright"} or one of the device-independent names
190
      (\code{"sans"}, \code{"serif"} and \code{"mono"}).  Outside
191
      Western Europe you may need to select a family that better
192
      supports your locale such as \code{"Arial MS Unicode"} or one
193
      specific to Chinese/Korean/Thai \dots{}.
55703 ripley 194
 
195
      \item There is a new \file{antialias} argument to
196
      \code{windows()}, \code{win.print()} and the bitmap devices.
197
      This is an option that can be set in \code{windows.options()} to
198
      set the default for \code{windows()} (and \code{win.graph()}).
199
 
56047 ripley 200
      This gives a hint to the Windows plotting system.  Whether
201
      anti-aliasing is actually used principally depends on the OS
202
      settings: this argument should at least be able to turn it
203
      off.  The default behaviour (unchanged from before) is that Windows
204
      will use anti-aliasing for screen devices (and bitmap devices, as
205
      they plot on a hidden screen) if ClearType has been enabled.  For
206
      those not using ClearType, \code{windows.options(antialias =
207
	"cleartype")} will make this the default, and it will probably
208
      give more legible plots. 
55703 ripley 209
 
210
      The argument can also be used for the cairographics-based versions
211
      of the bitmap devices.
55900 ripley 212
 
213
      \item The \sQuote{Update packages ...} menu item now runs
56174 ripley 214
      \code{update.packages(ask="graphics", checkBuilt=TRUE)}.
56165 ripley 215
 
216
      \item \code{R CMD INSTALL} preserves the package-directory
217
      modification time when it restores an earlier install of the package.
57050 ripley 218
 
219
      \item File extensions \code{.xz}, \code{.rda} and \code{.RData}
220
      have been added to those which default to binary transfer for
221
      \code{download.file()}.
57083 ripley 222
 
223
      \item \code{install.packages()} and \command{R CMD check} have a
224
      small delay after removing a directory to counteract some
225
      interference from anti-virus software.
57198 ripley 226
 
227
      \item There is a Danish translation of the RGui menus.
55045 ripley 228
    }
229
  }
55076 ripley 230
 
231
  \subsection{INSTALLATION}{
232
    \itemize{
56738 ripley 233
      \item Compilation of C and Fortran code now uses the optimization
234
      flag \option{-mtune=core2}: this will improve performance a few
235
      percent on recent CPUs at the expense of those which are several
236
      years old.  Its effect is particularly evident on 64-bit builds.
237
 
238
      This can be overridden when building from the sources: see the
239
      \samp{EOPTS} macro defined in file \file{MkRules.dist}.
240
 
241
      \item Where both 32- and 64-bit versions of R are installed, the
57242 ripley 242
      file association for \file{.RData} files defaults to 64-bit R (it
56738 ripley 243
      defaulted to 32-bit in R 2.12.x and 2.13.x).
244
 
56962 ripley 245
      \item There is preliminary support for \sQuote{multilib}
246
      toolchains which use options \option{--m32} or \option{--m64} to
247
      select the architecture; set the appropriate macros in
248
      \file{MkRules.local}.
55480 ripley 249
 
250
      It is the intention to move to such a toolchain when they become
251
      mature enough.
55076 ripley 252
    }
253
  }
55624 ripley 254
 
255
  \subsection{PACKAGE INSTALLATION}{
256
    \itemize{
55702 ripley 257
      \item \file{Rzlib.dll} (sometimes used in packages \emph{via}
55955 murdoch 258
      \samp{$(ZLIB_LIBS)}) does not include the buggy gzio   % for balance: $
55624 ripley 259
      interface from zlib 1.2.5.
260
    }
261
  }
56962 ripley 262
 
263
  \subsection{DEFUNCT}{
264
    \itemize{
265
      \item{zip.unpack()} (deprecated in \R 2.13.0) is defunct:
266
      use \code{unzip()} instead.
267
    }
268
  }
269
 
57228 ripley 270
  \subsection{BUG FIXES}{
271
    \itemize{
272
      \item Raster drawing on \code{win.metafile()} (or copying a plot
273
      that includes a raster image from another device to a Metafile)
274
      now does not crash.  (Reported by Stefan Gelissen.)
275
    }
276
  }
55064 ripley 277
}
56406 murdoch 278
 
57053 ripley 279
\section{CHANGES IN R VERSION 2.13.2}{
56406 murdoch 280
  \subsection{BUG FIXES}{
281
    \itemize{
282
      \item The fix for \PR{14583} caused inconsistent behaviour in other
66444 hornik 283
      areas, e.g.\sspace{}\PR{14628}, extra lines appearing in image displays,
57083 ripley 284
      and uneven bases on histograms.  (\PR{14632}).
56956 murdoch 285
 
286
      \item Opening large numbers of \code{windows()} graphics devices
287
      could cause some of them to fail to redraw (\PR{14668}).
56406 murdoch 288
    }
289
  }
290
}
291
 
56250 ripley 292
\section{CHANGES IN R VERSION 2.13.1}{
55470 ripley 293
  \subsection{NEW FEATURES}{
294
    \itemize{
295
      \item \command{R CMD build} no longer attempts to preserve file
55606 ripley 296
      permissions on Windows, because Windows (unlike POSIX-compliant
55470 ripley 297
      OSes) stops read-only files being deleted in version-control
298
      directories.
55471 murdoch 299
 
55606 ripley 300
      \item \code{shell.exec()} now interprets files relative to the current
301
      working directory (rather than \samp{R_HOME}).
302
 
55627 ripley 303
      \item \code{file.info()} now accepts \sQuote{file} names with
55661 ripley 304
      trailing directory separators, even though such names are invalid
305
      on Windows.
306
 
307
      \item The \code{windows()} family of devices now supports()
308
      per-pixel alpha for raster images.
55470 ripley 309
    }
310
  }
311
 
55458 ripley 312
  \subsection{BUG FIXES}{
313
    \itemize{
314
      \item Launching the PDF manuals from the Rgui menus did not work
315
      on some versions of Windows.
55906 murdoch 316
 
317
      \item The windows() screen device would sometimes fail to plot
56047 ripley 318
      (visibly) points with \code{pch="."}. \PR{14583}
55955 murdoch 319
 
320
      \item \code{system()} and related functions sometimes failed
321
      when run in \file{Rgui}.
55989 ripley 322
 
323
      \item Saving to PDF from the menu of a \code{windows()} device
324
      used defaults for \code{family}, \code{fg} and \code{bg} from
325
      \code{ps.options()} rather than \code{pdf.options()} (but
326
      the factory-fresh defaults were the same).
55955 murdoch 327
 
55989 ripley 328
      \item Shutting down the \R session cleaned up the temporary
329
      directory before closing all graphics devices.  On Windows this
330
      necessitated changing the working directory, so some devices
66444 hornik 331
      (e.g., \code{tiff()}) could write files in the wrong directory if
55989 ripley 332
      closed during shutdown.  The order has been reversed.      
55458 ripley 333
    }
334
  }
335
}
336
 
53032 ripley 337
\section{CHANGES IN R VERSION 2.13.0}{
54597 ripley 338
  \subsection{WINDOWS VERSION}{
339
    \itemize{
340
      \item Windows 2000 is no longer supported.  (It went end-of-life in
341
      July 2010.)
342
    }
343
  }
344
 
53032 ripley 345
  \subsection{NEW FEATURES}{
346
    \itemize{
347
      \item \code{win_iconv} has been updated: this version has a change
348
      in the behaviour with BOMs on UTF-16 and UTF-32 files -- it
349
      removes BOMs when reading and adds them when writing.  (This is
53359 ripley 350
      consistent with Microsoft applications, but Unix versions of
53032 ripley 351
      \code{iconv} usually ignore them.)
53231 ripley 352
 
353
      \item Support for repository type \samp{win64.binary} (used for
53359 ripley 354
      64-bit Windows binaries for \R 2.11.x only) has been removed.
53293 ripley 355
 
356
      \item The installers no longer put an \sQuote{Uninstall} item on
357
      the start menu (to conform to current Microsoft UI guidelines).
53304 ripley 358
 
53359 ripley 359
      \item Running \R always sets the environment variable \env{R_ARCH}
53304 ripley 360
      (as it does on a Unix-alike from the shell-script front-end).
53520 ripley 361
 
362
      \item The defaults for \code{options("browser")} and
363
      \code{options("pdfviewer")} are now set from environment variables
364
      \env{R_BROWSER} and \env{R_PDFVIEWER} respectively (as on a
365
      Unix-alike).  A value of \code{"false"} suppresses display (even
366
      if there is no \command{false.exe} present on the path).
53875 murdoch 367
 
368
      \item If \code{options("install.lock")} is set to \code{TRUE},
369
      binary package installs are protected against failure similar to
370
      the way source package installs are protected.
54552 ripley 371
 
372
      \item \code{file.exists()} and \code{unlink()} have more support
373
      for files > 2GB.
54677 ripley 374
 
375
      \item The versions of \command{R.exe} in
376
      \file{R_HOME/bin/{i386,x64}/bin} now support options such as
377
      \command{R --vanilla CMD}: there is no comparable interface for
378
      \file{Rcmd.exe}.
54799 ripley 379
 
380
      \item A few more file operations will now work with >2GB files.
55026 ripley 381
 
382
      \item The environment variable \env{R_HOME} in an \R session now
383
      uses slash as the path separator (as it always has when set by
384
      \command{Rcmd.exe}).
55119 ripley 385
 
386
      \item \command{Rgui} has a new menu item for the PDF
387
      \sQuote{Sweave User Manual}.
53032 ripley 388
    }
389
  }
54092 ripley 390
 
391
  \subsection{DEPRECATED}{
392
    \itemize{
393
      \item{zip.unpack()} is deprecated: use \code{unzip()}.
394
    }
395
  }
53404 ripley 396
  \subsection{INSTALLATION}{
397
    \itemize{
398
      \item There is support for \samp{libjpeg-turbo} \emph{via}
399
      setting \code{JPEGDIR} to that value in \file{MkRules.local}.
400
 
401
      Support for \samp{jpeg-6b} has been removed.
54038 ripley 402
 
55112 murdoch 403
      \item The sources now work with \samp{libpng-1.5.1}, 
55470 ripley 404
      \samp{jpegsrc.v8c} (which are used in the CRAN builds) and
405
      \samp{tiff-4.0.0beta6} (CRAN builds use 3.9.1).  It is possible
55112 murdoch 406
      that they no longer work with older versions than 
407
      \samp{libpng-1.4.5}. 
408
    } 
53404 ripley 409
  }
54262 ripley 410
 
411
  \subsection{BUG FIXES}{
412
    \itemize{
54289 ripley 413
      \item Workaround for the incorrect values given by Windows'
54262 ripley 414
      \code{casinh} function on the branch cuts.
54289 ripley 415
 
54330 murrell 416
      \item Bug fixes for drawing raster objects on \code{windows()}.  The
54289 ripley 417
      symptom was the occasional raster image not being drawn, especially
54330 murrell 418
      when drawing multiple raster images in a single expression.
419
      Thanks to Michael Sumner for report and testing.
55057 murdoch 420
 
421
      \item Printing extremely long string values could overflow the
422
      stack and cause the GUI to crash.  (\PR{14543})
54262 ripley 423
    }
424
  }
53032 ripley 425
}
426
 
54441 ripley 427
\section{CHANGES IN R VERSION 2.12.2}{
54331 ripley 428
  \subsection{NEW FEATURES}{
429
    \itemize{
430
      \item Building badly-written vignettes which used the default
74363 maechler 431
      device (\code{pdf(file = "Rplots.pdf")}) could leave the device
54331 ripley 432
      open and hence the file \file{Rplots.pdf} could not be removed on
433
      Windows: all devices are now closed.
434
    }
435
  }
436
 
53861 murdoch 437
  \subsection{BUG FIXES}{
438
    \itemize{
439
      \item In some circumstances the caret (cursor) could be positioned 
440
      incorrectly. (\PR{14460})
53863 murdoch 441
 
442
      \item When loading \file{Rconsole} from disk, a spurious warning
443
      message was sometimes shown.
53870 murdoch 444
 
445
      \item In \R 2.12.1, \code{system()} sometimes passed an empty
446
      input stream to the new process rather than allowing user input.
53916 ripley 447
 
448
      \item The internal method for \code{untar()} does a better job of
449
      unravelling symbolic links in the tarball (but still with many
450
      limitations).
54780 murdoch 451
 
452
      \item The graphical dialog version of \code{select.list()} could
453
      cause later dialogs to fail if Windows events were not processed
454
      between the calls.
53861 murdoch 455
    }
456
  }
457
}
458
 
53811 ripley 459
\section{CHANGES IN R VERSION 2.12.1}{
53348 ripley 460
  \subsection{NEW FEATURES}{
461
    \itemize{
462
      \item \code{system()} and \code{system2()} with output redirected
463
      to a character vector now give a warning if the command returns a
464
      non-zero error code.  (This is what a Unix-alike does as from \R
465
      2.12.0.)
53450 ripley 466
 
467
      \item \code{system()} and \code{system2()} no longer discard
468
      output from the command to stdout and stderr as often as they used
53572 ripley 469
      to, and more cases of \code{system2()} are implemented.
53592 ripley 470
 
53811 ripley 471
      \item \code{stdout} is now flushed after echoing the input line.
53790 ripley 472
 
473
      \item The internal implementation of \code{tar()} (package
474
      \pkg{utils}) is now supported on Windows.
53348 ripley 475
    }
476
  }
53423 ripley 477
 
53434 ripley 478
  \subsection{INSTALLATION}{
479
    \itemize{
480
      \item The MSI installer is now made by an \R script, and there is
53480 ripley 481
      now support for 64-bit builds.  (Unlike the Inno Setup installer,
482
      there are separate MSI installers for 32- and 64-bit Windows.)
53453 ripley 483
 
53480 ripley 484
      It is now built using \command{WiX 3.x} rather than \command{WiX
53453 ripley 485
	2.0}.  (As a result it is about 25\% smaller.)
53434 ripley 486
    }
487
  }
488
 
53423 ripley 489
  \subsection{BUG FIXES}{
490
    \itemize{
53427 murdoch 491
      \item Some warning/error messages from \code{dyn.load()} could be
53423 ripley 492
      masked in \command{Rgui} on Windows 7, as that OS can return
493
      messages containing carriage returns and \command{Rgui} does not
494
      support overwriting.
53427 murdoch 495
 
496
      \item Filenames could not be specified using backslashes in 
497
      \code{Sweave()}.
53612 ripley 498
 
53615 ripley 499
      \item In \R 2.12.0, \code{system(intern = TRUE)} captured
500
      \file{stderr} on \command{Rterm} when it was documented to only do
501
      so on \command{Rgui}.
53662 ripley 502
 
503
      \item \command{Rgui} in \R 2.12.0 (only) did not always handle lines
504
      containing carriage returns (\samp{\r}) correctly: sometimes
505
      random characters where shown.
506
 
507
      Since carriage returns have been supported in \command{Rgui},
508
      the cursor positioning after outputting a line containing a
509
      carriage return had been unreliable.
53423 ripley 510
    }
511
  }
53348 ripley 512
}
513
 
52495 ripley 514
\section{CHANGES IN R VERSION 2.12.0}{
515
  \subsection{NEW FEATURES}{
516
    \itemize{
517
      \item A sub-architecture is used for 32-bit (i386) as well as
518
       64-bit (x64) builds.  32-bit packages containing compiled code
519
       need to re-installed for this release (64-bit packages built
520
       for 2.11.x will most likely still work).
521
 
522
       Architecture-specific files (such as \file{Rgui.exe} and
523
       \file{Rscript.exe}) are now in \file{R_HOME/bin/i386} or
524
       \file{R_HOME/bin/x64}.
525
 
526
       Because many people expect it, there is an executable
527
       \file{R_HOME/bin/R.exe}, which accepts \option{--arch} and
528
       launches either \file{R_HOME/bin/i386/R.exe} or
529
       \file{R_HOME/bin/x64/R.exe}, and analogously for
530
       \file{Rscript.exe}.  If not specified by their argument
531
       \option{--arch}, these check the environment variable
532
       \env{R_ARCH} for the architecture to use.
533
 
534
      \item The \command{Rgui} console now has an optional blinking
535
        caret (cursor) to assist screen readers for the visually
536
        impaired.
537
 
538
      \item \code{normalizePath()} now signals a warning instead of an
539
        error when the input path does not exist.  It attempts partial
540
        normalization, or if that fails, returns the original input.
541
 
542
      \item All the \command{Rcmd} sub-commands except \code{config} and
543
       \code{Sd2d} are now handled internally rather by shell scripts.
544
 
545
      \item \command{Rcmd} has a new sub-command \command{texify} to run
546
       MiKTeX's \file{texify.exe} with arguments to find files such as
547
       \file{Sweave.sty}.  See the examples in \code{?Sweave}.
52802 ripley 548
 
53032 ripley 549
       \item \code{system(intern = FALSE)} now returns \code{127} (the
52802 ripley 550
       same as Unix-alikes) rather than \code{-1} if the command cannot
551
       be run, and (like Unix-alikes) no longer gives a warning.
53070 ripley 552
 
553
       \item \command{Rscript -e} and similar use a temporary file, and
554
       now work harder to ensure that filename is not the same as some
555
       other simultaneous \R process.
52495 ripley 556
    }
557
  }
558
  \subsection{INSTALLATION}{
559
    \itemize{
560
      \item The preferred toolchain for 32-bit builds (including
561
       packages) is now based on \command{gcc 4.5.0}: see the \sQuote{R
562
       Installation and Administration Manual}.
563
 
564
      \item It is now possible to build \R and the standard installer
565
        without Perl: only maintainer-mode tasks now need Perl.
566
    }
567
  }
568
  \subsection{64-bit NEWS}{
569
    \itemize{
570
      \item The 32- and 64-bit distributions have been merged:
571
 
572
        There is a combined installer (called
573
        \file{R-<version>-win.exe}).  When used under 32-bit Windows
574
        this works as before and installs 32-bit \R.  When used under
575
        64-bit Windows there are options to install either or both of
52589 ripley 576
        32- and 64-bit \R: the default is to install both.
52495 ripley 577
 
578
        The default package type is \code{"win.binary"} on both 32- and
579
        64-bit builds: a single repository contains binary packages for
53359 ripley 580
        both architectures.  This is in place for CRAN, CRAN extras and
52589 ripley 581
        BioC: \code{type = "win64.binary"} can still be used for any
582
        repositories which follow the \R 2.11.x convention.  With the
583
        default filters (see \code{?available.packages}) packages will
584
        only be offered if they are available for the current
585
        architecture.
53092 ripley 586
 
66444 hornik 587
	The default personal library, e.g.\sspace{}\file{~/R/win-library/2.12}
53092 ripley 588
	is now the same for both 32- and 64-bit \R.
52589 ripley 589
 
53092 ripley 590
      \item The recommended 64-bit toolchain has been changed to one
53359 ripley 591
      that does not add leading underscores.  See
73403 murdoch 592
      \url{http://cran.r-project.org/bin/windows/Rtools/}.  Any static or import
52589 ripley 593
      libraries for external software used in installing packages will
594
      need to be re-compiled for this toolchain, but the use of DLLs is
595
      unaffected.
596
 
52495 ripley 597
      \item For those building \R from the sources, the 64-bit
598
       \code{Tcl} binary distribution for 2.12.x is in file
66444 hornik 599
       \file{R64a_Tcl_8-5-8.zip} and contains e.g.\sspace{}directory
52495 ripley 600
       \file{Tcl/bin64} and not \file{Tcl/bin}.
601
    }
602
  }
603
  \subsection{PACKAGE INSTALLATION}{
604
    \itemize{
605
      \item The deprecated environment variable \env{RHOME} is no longer
606
      set when a package is installed: use \env{R_HOME} instead (and
607
      depend on \code{R (>= 2.9)} ).
608
 
609
      \item Package installation, including \file{configure.win}
610
       scripts, can use \code{$\{R_HOME\}/bin$\{R_ARCH_BIN\}} as a
611
       portable way to find the binaries such as \file{Rscript.exe}.
612
    }
613
  }
52958 ripley 614
  \subsection{BUG FIXES}{
615
    \itemize{
53032 ripley 616
      \item \command{R.exe} when used in place of \command{Rterm.exe}
52958 ripley 617
      set the environment variables set by \command{R CMD}.  Conversely,
618
      \command{R CMD BATCH} did not.
619
    }
620
  }
52495 ripley 621
}
622
 
623
\section{CHANGES IN R VERSION 2.11.1 patched}{
624
  \subsection{BUG FIXES}{
625
    \itemize{
626
      \item \code{file.rename()} now waits for the rename to complete
52534 ripley 627
      before returning, so that operations on the new filename will
628
      not fail.
52495 ripley 629
 
630
      \item \code{Sys.info()} and \code{win.version()} now report
52534 ripley 631
      Windows 7 as such (and not as Vista), and \code{Sys.info()} now
632
      reports the machine type as \code{"x86-64"} on 64-bit platforms.
633
 
634
      \item \code{serialize()} to a raw vector works around the dismal
635
      performance of Windows' memory manager by allocating much larger
636
      chunks of memory less frequently.
52666 murdoch 637
 
638
      \item \code{readClipboard()} could cause a segfault with certain
639
      clipboard data.
52753 ripley 640
 
641
      \item A fix intended for Mac OS X was incorrectly applied to
53032 ripley 642
      Windows, so \code{iconv(x, from, "")} in a C locale was
643
      interpreted as requesting translation to UTF-8.
52802 ripley 644
 
645
      \item \code{system(intern=TRUE)} often returned \code{0}
646
      rather than an error status if the command could not be found, if
647
      run from \code{Rterm} or from \code{Rgui} with
648
      \code{show.output.on.console = FALSE}.
52886 murdoch 649
 
650
      \item \code{memory.limit()} did not allow sizes greater than
53032 ripley 651
      4095 on 64 bit builds. (\PR{14372})
52495 ripley 652
    }
653
  }
654
}
655
 
656
\section{CHANGES IN R VERSION 2.11.1}{
657
  \subsection{NEW FEATURES}{
658
    \itemize{
659
      \item The \command{Rgui} console, pagers and editor on the 64-bit
660
       build now have a title bar icon.
661
 
662
      \item The outer frame/console for \command{Rgui/Rterm} mentions
663
       '(64-bit)' to make it easier to distinguish running copies of \R.
664
 
665
      \item The package entries in listbox shown by the \code{Install
666
       package(s) ...} menu are now explicitly sorted in the current
667
       locale (as they were in most previous releases, but not in
668
       2.11.0).
669
 
670
      \item \command{R CMD INSTALL} can install zipfiles as binary
671
      packages.
672
 
673
      \item Errors in the \file{Rconsole} file are ignored: silently on
674
        startup, with a warning when \file{Rconsole} is loaded
675
        interactively.
676
    }
677
  }
678
}
679
 
680
\section{CHANGES IN R VERSION 2.11.0}{
681
  \subsection{NEW FEATURES}{
682
    \itemize{
683
      \item There is now a native x64 Windows port, with a binary installer
684
       and binaries of packages available on CRAN.  See the 'R
685
       Administration and Installation Manual' and the 'R for Windows FAQ'.
686
 
687
      \item \command{Rcmd cmd} (or \command{R CMD cmd}) now runs an
688
       arbitrary '\option{cmd}' if '\option{cmd}' is not one of the
689
       builtin commands, and does not have extension '\file{.sh}' or
690
       '\file{.pl}' (when it is run as a shell or Perl script
691
       respectively).  This is done by passing '\option{cmd}' to the
692
       command interpreter determined by the \env{COMSPEC} environment
693
       variable (which in a vanilla Windows system points to
694
       \file{cmd.exe}).
695
 
696
      \item \code{X11()} and \code{x11()} gain additional arguments to
697
       be more similar to the Unix \code{X11()} device.
698
 
699
      \item \code{file.rename()} can work across volumes (by copy-and-delete).
700
 
701
      \item The main HTML help page now links to this \file{CHANGES} file.
702
       (Suggested by Henrik Bengtsson.) 
703
 
704
      \item \code{strftime(format = "\%z")} now gives the timezone names
705
       used by the Olson database and not those used by Windows.
706
 
707
      \item \code{iconv(to = "ASCII")} no longer transliterates, but
708
       \code{iconv(to = "ASCII//TRANSLIT")} will.  This makes
709
       \code{tools::showNonASCII()} work the same way as on other platforms.
710
 
711
      \item \code{readRegistry()} can look at either the 32- or 64-bit view
712
       of the Registry on 64-bit Windows.
713
    }
714
  }
715
  \subsection{INSTALLATION}{
716
    \itemize{
717
      \item The \code{Tcl} timezone files (3Mb on disc) are now an
718
       optional part of the installation: they would be very rarely used
719
       with \R.
720
 
721
      \item \file{RSetReg.exe} has been updated to (un)set the
722
       version-specific keys in the same way as the main installer, and
723
       to have the optional argument \option{/Personal} to (un)set the
724
       per-user rather than the per-machine keys (which need
725
       administrative access).
726
 
727
      \item When building \R, the recommended way is now to supply a file
728
       \file{R_HOME/src/gnuwin32/MkRules.local} instead of editing
729
       \file{MkRules}: there is now no \file{MkRules} file in the
730
       distribution, but one is generated during the build process.
731
 
732
       \file{MkRules.local} can be generated by copying and editing
733
       \file{MkRules.dist}.
734
 
735
      \item The MSI installer defaults to an all-user (per machine)
736
       install (by setting the \code{ALLUSERS} property to \code{1}).
737
       This can be changed at installation, and it can be built for a
738
       user-mode install (see \file{MkRules.dist}).
739
    }
740
  }
741
  \subsection{BUG FIXES}{
742
    \itemize{
743
      \item Using \code{ESC} to interrupt a \code{system()} call could
744
       cause \R to become unstable.
745
 
746
      \item \code{0^1i} (which should be complex \code{NAN}) was
747
      incorrect.
748
    }
749
  }
750
}
751
 
752
\section{CHANGES IN R VERSION 2.10.1 patched}{
753
  \subsection{BUG FIXES}{
754
    \itemize{
66444 hornik 755
      \item Some of the MDI toolbar buttons (e.g., \code{"Open Script"})
52495 ripley 756
       did not return the focus to the console if the user cancelled the
757
       action.
758
 
53359 ripley 759
      \item \code{system()} (and hence \code{shell()}) did not always
760
        set the standard file handles properly, so some programs would
761
        not run.
52495 ripley 762
 
763
      \item \code{setWinProgressBar()} did not check the type of its
764
       \code{'title'} and \code{'label'} arguments and might have
53447 ripley 765
       crashed if they were mis-specified.  It now does, thanks to a
52495 ripley 766
       report by Greg Snow.
767
    }
768
  }
769
}
770
\section{CHANGES IN R VERSION 2.10.1}{
771
  \subsection{BUG FIXES}{
772
    \itemize{
773
      \item The installer did not properly record help type choices in
774
       \file{R_HOME/etc/Rprofile.site}.
775
 
776
      \item \command{Rcmd INSTALL} once again uses
777
       \option{--no-restore}, for consistency with the Unix version and
778
       \R 2.9.2.
779
 
780
      \item The HTML package index was not constructed properly when the
781
       library path was specified with backslashes.  (Patch submitted
782
       by Gabor Grothendieck.)
783
    }
784
  }
785
}
786
 
787
\section{CHANGES IN R VERSION 2.10.0}{
788
  \subsection{NEW FEATURES}{
789
    \itemize{
790
      \item \code{windows()} now has a parameter \code{fillOddEven}
791
       (default \code{TRUE}), which controls the mode used for polygon
792
       fills of self-intersecting shapes.
793
 
794
      \item The functions \code{arrangeWindows()} and
795
        \code{getWindowsHandles()} have been added to give more
796
        programmatic control to the appearance of windows in an R
797
        session.
798
 
799
      \item A \sQuote{Windows} menu has been added to the SDI version of
800
       the \R GUI, and the corresponding menu in the MDI version has
801
       been expanded slightly.
802
 
803
      \item The \code{libpng} library has been updated to version 1.2.40.
804
 
805
      \item The remaining Perl scripts \code{build}, \code{check},
806
      \code{Rprof}, \code{Sd2Rd} in \file{R_HOME/bin} now have extension
807
      \file{.pl}.
808
 
809
      \item \code{Rcmd} (or \code{R CMD}) can now run \file{.sh} (shell)
810
       and \file{.pl} (Perl) scripts anywhere on the path (as well as
811
       \file{.bat} and \file{.exe} files as before).
812
    }
813
  }
814
  \subsection{PACKAGE INSTALLATION}{
815
    \itemize{
816
      \item \command{Rcmd SHLIB} (which is used by \command{Rcmd
817
       INSTALL}) now calls \code{make} without a target, rather than
818
       target \code{'all'}.  This is now the same as on Unix, and was
819
       announced in the \file{NEWS} file for 2.9.0.
820
 
821
      \item Help files are no longer zipped: rendering as text, HTML,
822
       latex or examples is now done when needed.
823
 
824
       Options \option{--use-zip} and \option{--use-zip-help} in
825
       \command{R CMD INSTALL} are no longer available and
826
       \option{--auto-zip} only zips data (or not).
827
 
828
       Help in packages installed under 2.9.x may not work correctly,
829
       and a warning is given when such a package is attached by
830
       \code{library()}.  Re-installation of all packages is strongly
831
       recommended (use \code{update.packages(checkBuilt = TRUE)}).
832
 
833
       Binary packages are installed without CHM help if they contain
834
       it (as those intended for 2.9.x may).
835
 
836
      \item It is possible to install source packages without Rtools
837
       provided they have no compiled code and no \file{configure.win} or
838
       \file{cleanup.win} script.
839
    }
840
  }
841
  \subsection{INSTALLATION}{
842
    \itemize{
843
      \item Support for memory profiling is enabled in a standard build
844
       (this can be changed by editing \file{config.h}).
845
 
846
      \item CHM help is no longer supported.
847
 
848
      \item The help default for the standard installer is HTML help rather
849
       than CHM help.
850
 
851
      \item The categories in the installers have been simplified.  Now the
852
       files to support installation of source packages are always
853
       installed (they are now only 0.7Mb), and there are no longer
854
       categories 'chtml', 'html/help', 'latex' and 'Rd'.
855
 
856
 
857
    }
858
  }
859
  \subsection{BUG FIXES}{
860
    \itemize{
861
      \item \command{Rcmd open} now works as documented: previously
862
       \command{Rcmd open.exe} was required.
863
 
864
      \item \code{cat(x, file=)} in \command{Rgui} tried to interpret
865
       UTF-8-encoded strings for the console rather than converting them
866
       to the native encoding.
867
    }
868
  }
869
}