CHANGES IN VERSION 1.3.0-1.3.10 ------------------------- NEW FEATURES o a new argument 'visible' is added to the functions `add.gdsn()`, `addfile.gdsn()` and `addfolder.gdsn()` o `objdesp.gdsn()` returns 'encoder' to indicate the compression algorithm o add a new function `system.gds()` showing system configuration o support efficient random access of zlib compressed data, which are composed of independent compressed blocks o support LZ4 compression format (http://code.google.com/p/lz4/), based on "lz4frame API" of r128 o allow R RAW data (interpreted as 8-bit signed integer) to replace 32-bit integer with `read.gdsn()`, `readex.gdsn()`, `apply.gdsn()`, `clusterApply.gdsn()`, `write.gdsn()`, `append.gdsn()` o a new argument 'target.node' is added to `apply.gdsn()`, which allows appending data to a target GDS variable o `apply.gdsn()`, `clusterApply.gdsn()`: the argument 'as.is' allows "logical" and "raw" o more argument checking in `write.gdsn()` o new components 'trait' and 'param' in the return value of `objdesp.gdsn()` o add new data types: packedreal8, packedreal16, packedreal32 o a new argument 'permute' in the function `setdim.gdsn()` SIGNIFICANT USER-VISIBLE CHANGES o v1.3.5: add a R Markdown vignette BUG FIXES o minor fixes o v1.3.2: fixes https://github.com/zhengxwen/gdsfmt/issues/7 o v1.3.3: minor fixes, 'sync.gds' synchronizes the GDS file o v1.3.4: fixes https://github.com/zhengxwen/gdsfmt/issues/6 o v1.3.5: fixes https://github.com/zhengxwen/gdsfmt/issues/8 CHANGES IN VERSION 1.1.0 ------------------------- NEW FEATURES o add a new function `is.element.gdsn()` o allow closing GDS files in `showfile.gds()` BUG FIXES o fully support big-endian systems o fix memory leaks in `cleanup.gds()` CHANGES IN VERSION 1.0.4 ------------------------- NEW FEATURES o `apply.gdsn()` and `clusterApply.gdsn()` support characters o add a new function `moveto.gds()` to relocate GDS variables o add a new function `diagnosis.gds()` to diagnose the GDS file SIGNIFICANT USER-VISIBLE CHANGES o `apply.gdsn()`, `clusterApply.gdsn()`: make the returned value invisible if 'as.is="none"' o more options in `read.gdsn()` and `readex.gdsn()` o more Unit tests BUG FIXES o fix a bug in `delete.gdsn()`: allocated resource is not released in the GDS file CHANGES IN VERSION 1.0.3 ------------------------- NEW FEATURES o add two new arguments 'allow.duplicate' and 'allow.fork' to the function `openfn.gds()` o add a new function 'showfile.gds' o allow reading a GDS file simultaneously between multiple forked processes (applied in `mclapply()` etc) o support the LinkingTo mechanism, via 'R_RegisterCCallable' and 'R_GetCCallable' CHANGES IN VERSION 1.0.2 ------------------------- NEW FEATURES o add 'size' and 'good' to the returned list from `objdesp.gdsn()` indicating the state of GDS node o add a new function 'cache.gdsn' BUG FIXES o fix the memory issues reported by valgrind CHANGES IN VERSION 1.0.1 ------------------------- NEW FEATURES o add a new argument 'replace' to the function `addfile.gdsn()`, which allows replacing the existing variable by a new one o add a new function `addfolder.gdsn()` allowing a virtual folder linking to other GDS files o add 'message' to the returned list from `objdesp.gdsn()`, which allows tracking error messages or log information SIGNIFICANT USER-VISIBLE CHANGES o remove the argument 'deep' from the function `cleanup.gds()` to simplify calling o reduce the package size BUG FIXES o backward compatible with unknown or undefined classes in GDS system CHANGES IN VERSION 1.0.0 ------------------------- NEW FEATURES o support long vectors (>= R v3.0), allowing >4G (memory size) vectors in R o ~20x speedup in reading characters from a GDS file, compared to the previous version o add a new argument 'replace' to the function `add.gdsn()`, which allows replacing the existing variable by a new one o add a new argument 'simplify' to the functions `read.gdsn()` and `readex.gdsn()` SIGNIFICANT USER-VISIBLE CHANGES o speed improvement for other primitive data types o a warning is given, when a variable with missing characters is written to a GDS variable o replace all '.C()' by '.Call()' internally o reduce the package size BUG FIXES o improve the function `objdesp.gdsn()` o fix a bug in `delete.gdsn()` CHANGES IN VERSION 0.9.13-0.9.15 ------------------------- BUG FIXES o fix an issue of memory leak when a compressor or decompressor is loaded o fixes an error in the CITATION file o compiler issue fix: Solaris 10 o uses 'inherits' to check the inheritance of object install 'class() ==' CHANGES IN VERSION 0.9.12 ------------------------- NEW FEATURES o support variable-length string (e.g., VStr8) SIGNIFICANT USER-VISIBLE CHANGES o add an argument 'path' to the function `index.gdsn()`, which uses '/' as a separator o support a faster defragmentation algorithm in `cleanup.gds()` o 'character' in the function `add.gdsn()` refers to variable-length string by default o fixed-length strings are "fstring", "fstring16" and "fstring32" in the function `add.gdsn()` o variable-length string are 'string', 'string16' and 'string32' in the function `add.gdsn()` o support the 'R.invisible' attribute to hide a GDS node, until adding 'all=TRUE' to `print.gds.class()` or `print.gdsn.class()` o improve the display of hierarchical structure o the argument "storage" in the function `add.gdsn()` is not case-sensitive now BUG FIXES o minor bug fix in `readex.gdsn()` when CHANGES IN VERSION 0.9.11 ------------------------- NEW FEATURES o 'put.attr.gdsn' allows a vector with more than one elements SIGNIFICANT USER-VISIBLE CHANGES o it is more efficient to store a factor variable o `apply.gdsn()` is re-written in C/C++ o the function `applylt.gdsn()` is merged into `apply.gdsn()` o the function `clusterApplylt.gdsn() is merged into `clusterApply.gdsn()` o improve `clusterApply.gdsn()` o S3 class name 'gdsclass' is replaced by 'gds.class' o S3 class name 'gdsn' is replaced by 'gdsn.class' DEPRECATED AND DEFUNCT o deprecate `applylt.gdsn()` and `clusterApplylt.gdsn()` BUG FIXES o bug fix: add a folder using `add.gdsn()` CHANGES IN VERSION 0.9.1-0.9.10 ------------------------- NEW FEATURES o add two functions with the support of the parallel package (R 2.14.0): `clusterApply.gdsn()`, `clusterApplylt.gdsn()` SIGNIFICANT USER-VISIBLE CHANGES o change 'wstring' to 'string16' in `add.gdsn()` o change 'dwstring' to 'string32' in `add.gdsn()` o add RUnit tests o support GCC4.7 compiler BUG FIXES o fix warnings o fix a bug: correct the dimension size of array data with more than two dimensions o fix bugs: 'append.gdsn' appends data of bit9, bit10, etc, correctly o fix a minor bug of compression stream CHANGES IN VERSION 0.9.0 ------------------------- o first release of gdsfmt