
			LOG of Changes of PypeR


Changes between version PypeR-1.1.0 to PypeR-1.1.1:

	on Wed Oct 10 11:07:27 CST 2012

	1. Added support to Pandas Series and DataFrame. (Thanks Joost Delsman very
		much for providing codes for this purpose!)
	
	2. Addressed some compatibility problems for Python 2.7 on Windows. (Many
		users provided helps!)

	3. Addressed a potential problem related to one-element tuple in conversion
		of R data frames to Python objects. (Thank Matt Knox for point this out
		and provide a solution.) 

	4. Addressed the row-column confusion in conversion of R arrays to Python
		objects.

	5. Added supports to some special data, e.g. NaN and Inf.

	6. More clear codes for test (in test.py).


Changes between version PypeR-1.0.4 to PypeR-1.1.0:

	on Mon Sep 13 14:22:47 PDT 2010

	1. Removed the module "pipeio.py" (the modification to the subprocess
		package by Josiah Carlson). Therefore, the package "pywin32" is no
		longer need on Windows.

	2. Comparing to PypeR-1.0.X, which can only run with Python-2.X.X (>= 2.4),
		now PypeR runs with Python 2.X.X (>= 2.3), Python 3.X.X, Jython, and
		IronPython.

	3. The parameters "wait0" and "wait" have been cancelled for the "R" class
		and the "runR" function. Now R can be initialized a little faster.


Changes between version PypeR-1.0.3 to PypeR-1.0.4:

	on Thu Sep  9 09:53:05 PDT 2010

	1. Fixed the bug in parsing R command with backslash or space in the PATH -
		now the following code works:

		>>> r = R(RCMD="C:\\Program Files\\R\\R-2.X.X\\bin\\R")


Changes between version PypeR-1.0.2 to PypeR-1.0.3:

	on Fri Sep  3 16:30:12 PDT 2010:

	1. Fixed the bug in passing R values to Python which happens on Windows
		aftersome library (e.g. "fastICA") change newline from '\r\n' to '\n'.

	2. Fixed the bug in passing R values with the backslash character ('\') to
		Python.

	3. Fixed the bug on Windows in parsing user library for R.

	4. change the default value for parameter "use_dict". Now "use_dict" can be
		one of the three values: None, True, False. None is the default value,
		which allows a Python dictionary returned for R named list without
		replicated name, or a Python list if replicated names exist. Here is
		some examples:

		>>> from pyper import *
		>>> r = R() # the default value for use_dict is None
		>>> r('a <- list(aa=3, bb=4, cc=5, aa=6)') # with replicated name "aa"
		'try({a <- list(aa=3, bb=4, cc=5, aa=6)})\r\n'
		>>> r.a
		[('aa', 3), ('bb', 4), ('cc', 5), ('aa', 6)]
		>>> r.get('a', use_dict=False)
		[('aa', 3), ('bb', 4), ('cc', 5), ('aa', 6)]
		>>> r.get('a', use_dict=True)
		{'aa': 6, 'cc': 5, 'bb': 4}
		>>> r.use_dict = True # change the default value from None to True
		>>> r.a
		{'aa': 6, 'cc': 5, 'bb': 4}
		>>> r.get('a')
		{'aa': 6, 'cc': 5, 'bb': 4}
		>>> r.get('a', use_dict=False)
		[('aa', 3), ('bb', 4), ('cc', 5), ('aa', 6)]
		>>> r.get('a', use_dict=None) # "None" here means that r.use_dict should be used!
		{'aa': 6, 'cc': 5, 'bb': 4}
		>>> r.use_dict = None # recover the default value
		>>> r.a
		[('aa', 3), ('bb', 4), ('cc', 5), ('aa', 6)]


Changes between version PypeR-1.0.1 to PypeR-1.0.2:

	on Fri Sep 3 2010:

	1. Fix bugs in converting logical data in R to Python

	2. R Objects other than factor, NULL, vector, matrix, data.frame, or list,
		will be converted to character using the function as.character
	
	3. add the optional parameter "use_dict" for the R class and for the "get"
		method of the R class.


Changes between version PypeR-1.0 to PypeR-1.0.1:

	1. Redict stderr to stdout for R. This can be disabled by setting
		"return_err=False" when initialize a R instance, e.g., 
		"r = R(return_err=False)"

	2. In order that user settings can be used by R, R is launched with
		arguments "--quiet --no-save --no-restore" instead of "--vanilla",
		which equal to "--no-save --no-restore --no-site-file --no-init-file
		--no-environ".

	3. A version variable is added for the module: __version__ = 1.01

	4. Suppressed the popup terminal window on Windows.

	5. Added the user-specific library PATH in IDLE on Windows.
