1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
|
NEWS/Changelog for Rserve
---------------------------
0.6-1 2010-05-24
o add a safety margin to the send buffer to avoid crashes when
size estimates are off (e.g., due to re-coding)
o added a very primitive PHP client
o Win64 fixes by Brian Ripley
o added new configuration options:
su {now|server|client} - switches user either immediately
as the config file is loaded ("now", default and always the
behavior of Rserve before 0.6-1), when the server is ready
("server") or when a client is spawned ("client"). The
latter is useful to restrict clients from sending signals
to the server process.
uid, gid config options are interpreted accordingly to
the su value.
cachepwd - {no|yes|indefinitely} - allows Rserve to cache
the password file. "no" = read it at each authorization
(default and behavior before 0.6-1), "yes" = read it when
a client is spawned before su, "indefinitely" = read it
just after the config file (most efficient but changes
are only active after re-start). "yes" has only effect
in unix and can be used to restrict permissions on the
password file such that client code has no access to it
(do does "indefinitely" but can be used anywhere).
0.6-0 2009-10-27
o added support for control commands CMD_ctrlEval,
CMD_ctrlSource and CMD_ctrlShutdown. Those commands provide
control over the server process. The side-efect of eval and
source are then available to all future connections.
Control commands are only available if they are enabled, e.g.,
with the config file entry "control enable". In addition if
authorization is required or the passwords file is set only
designated users will have control access (see next point).
Note that enabling control commands will make Rserve use at
least one file descriptor per active child process, so you may
want to adjust the maximum number of file descriptor in your
system if you expect hundreds of concurrent clients.
o The passwords file format has been enhanced to give
finer-granularity control over the user authorization.
Only users with "@" prefix can issue control commands. The
prefix is not part of the user name for authentication
purposes.
In addition, if the password file contains an entry
starting with "*" it will be interpreted as blank
authorization, i.e. any username/pwd will authenticate. This
may be useful in conjunction with control prefix, e.g., the
following file would give blank authorization to all users but
only the user "joe" will be able to use control commands:
@joe foobar
*
o Windows build cleanup (thanks to Brian Ripley)
o fixed decoding of XT_RAW (it advanced too far), this affected
the use of XT_RAW as non-last element only (thanks to Saptarshi
Guha for reporting)
o don't advertize ARuc if not supported (this bug only affected
systems without crypt support with plaintext enabled and
required authorization)
o add assign support for logical vectors
0.5-3 2009-01-25
o fix SET_VECTOR_ELT/SET_STRING_ELT mismatches
o set object flag when decoding objects that have
a "class" attribute (fixes issues with S3 objects that
were passed from the client to the server).
o set S4 bit for pure S4 objects (S4SEXP). No other S4
objects are supported because there is no way to tell
that an assembled object is really an S4 object
o added string encoding support (where R supports it)
The string encoding can be set in the configuration file
(directive "encoding"), on the command line with --RS-encoding
or within a session by the client command CMD_setEncoding.
This means that strings are converted to the given encoding
before being sent to the client and also all strings from the
client are assumed to come from the given encoding.
(Previously the strings were always passed as-is with no
conversion). The currently supported encodings are "native"
(same as the server session locale), "utf8" and "latin1". The
server default is currently "native" for compatibility with
previous versions (but may change to "utf8" in the future, so
explicit use of encoding in the config file is advised).
If a server is used mainly by Java clients, it is advisable to
set the server encoding to "utf8" since that it the only
encoding supported by Java clients.
For efficieny it is still advisable to run Rserve in the same
locale as the majority of clients to minimize the necessary
conversions. With diverse clients UTF-8 is the most versatile
encoding for the server to run in while it can still serve
latin1 clients as well.
0.5-2 2008-10-17
o fix a bug in CMD_readFile and CMD_setBufferSize that
resulted in invalid buffer sizes (one of the ways to
trigger the bug was to attempt to read a small number of
bytes with readFile). Thanks to H. Rehauer for reporting.
o ignore attributes if they are not in a LISTSXP - there seem
to be other uses of the ATTRIB entry in conjunction with
character hashes in recent R versions. (BR #76)
o adapt C++ client to changes in 0.5 (at least to the point
where the demo1 code works)
o add support for XT_VECTOR_EXP in assignments
o improve protection for vectors
o report "remote" setting in --RS-settings
o updates in the REngine Java client, added documentation
0.5-1 2008-07-22
o fix build issue with R 2.7.x on Windows
o mergefat now works properly and uses cp if there is no lipo
(this fixes multi-arch issues on Mac OS X and makes sure that
Rserve/Rserve.dbg are installed even on non-Mac systems)
0.5-0 2008-07-21
o added CMD_serEval and CMD_serAssign which are highly efficient
when talking to R clients as they don't need any intermediate
buffer. The corresponding R client functions RSeval and
RSassign have been re-written to use this new API.
o deprecate scalar types in the protocol
o add more efficient storage for dotted-pair lists
and symbol names
o add support for complex numbers
o new Java client: REngine
it is more flexible than JRclient and it can be used with
other Java/R engines such as JRI. Also it has a much more
clean API and better exeption handling.
- allow NaNs to be passed in raw form to R, i.e. double
NAs can be created using
Double.longBitsToDouble(0x7ff00000000007a2L)
(nice methods for this should follow)
o C++ client was moved to src/client/cxx
JRclient:
o change the representation of lists to generic
named vectors (class RList)
o change the ways attributes are accessed
0.4-7 2007-01-14
o relax DLL versions checking on Windows
o added more sophisticated implementation of RSassign
in R client to support larger data. Nevertheless, due to
limitations in R, objects must be serializable to
less than 8MB to be assignable via RSassign.
o added more robust error handling in the R client
o fixed compilation on systems with custom include dir
(such as Debian)
o JRclient is now part of the Rserve package.
See clients.txt for details.
It is not compiled by default (but installed when
--with-client is specified), because we cannot assume the
existence of a Java compiler.
0.4-6 2006-11-30
o fixed bug in RSeval when handling large objects
o minor fix in RSassign
o add an endianness hack for Windows in case config.h is not
included properly
0.4-5 2006-11-29
o added --with-server option (by default enabled). When disabled,
the server itself is not built. When enabled, R must provide R
shared library, i.e. it must have been compiled with
--enable-R-shlib.
o added --with-client option (by default disabled). When
enabled, the C/C++ client is built and installed in the
package. It will be copied in the "client" directory of the
package and contains all files necessary for building a
client application.
This option has no effect on the R client which is always
built and installed.
o Windows version of Rserve now builds and installs both debug
(Rserve_d.exe) and regular (Rserve.exe) version of Rserve. In
addition, the Rserve function can now be used to launch Rserve
even on Windows.
o endianness detection now prefers information from the compiler
macros thus allowing cross-compilation. Use -D_BIG_ENDIAN_ or
-D_LITTLE_ENDIAN_ to override it if necessary.
o allows universal build on Mac OS X
o adapt to R_ParseVector interface change in R-devel
0.4-4 2006-11-15
o first release on CRAN
o added support for RAW type (both in and out)
o added rudimentary client support (thanks to David Reiss for
his contributions) and documentation
Previous major releases:
0.4 2005-08-31
* added support for sessions
0.3 2003-10-07
* new format for boolean arrays
last version: 0.3-18 (2005-08-28)
0.2 2003-08-21
* support for large objects
0.1 2002-07-06
* first release
|