Updating packages for 3.0.0 =========================== Package maintainers should be aware of the following changes scheduled to appear in 3.0.0 on March/April 2013. Namespaces ========== Packages must have namespaces (as they have since R 2.14.0), but a default NAMESPACE file is no longer generated on installation (it still is by R CMD build). .First.lib is no longer run, so start-up code must be in either .onLoad or .onAttach. The one exception is data-only packages without any R code: but even for those it is better to add an empty NAMESPACE file. Long vectors ============ On 64-bit platforms, the length of a vector is no longer limited to 2^31-1 elements. This applies to matrices and arrays, but for the forseeable future each of their dimensions is limited to 2^31-1. The most important consequence is that length(x) is now more likely to not be an integer. (This has always been a possibility for length() methods, and e.g. package Matrix had methods that return a double.) Programmers have frequently assumed that lengths were integers when passing to .C/.Fortran, and furthermore that as.integer(length(x)) was not NA. So safe code will - always use as.integer(length(x)) when calling .C/.Fortran - if using NAOK = TRUE, check that the result is not NA. As a precaution, .C and .Fortran do not accept long vectors (as a common idiom is to pass a vector and its length).