===============
New features
------------
:mod:`rpy2.rinterface`:
- :func:`setReadConsole`: specify Python callback for console input
- `R` string vectors can now be built from Python unicode objects
- getter :attr:`__sexp__` to return an opaque C pointer to the underlying R object
- method :meth:`rsame` to test if the underlying R objects for two :class:`Sexp` are the same.
- added `emptyEnv` (R's C-level `R_EmptyEnv`)
- added method :meth:`Sexp.do_slot_assign`
:mod:`rpy2.robjects`:
- R string vectors can now be built from Python unicode objects
:mod:`rpy2.rlike`:
- module :mod:`functional` with the functions :func:`tapply`, :func:`listify`, :func:`iterify`.
- module :mod:`indexing` with the function :func:`order`
- method :meth:`TaggedList.sort` now implemented
Changes
-------
:mod:`rpy2.rinterface`:
- :func:`initEmbeddedR` is only initializing if R is not started (no effect otherwise, and no exception thrown anymore)
- the method :meth:`Sexp.typeof` was replaced by a Python `getter` :attr:`typeof`.
- the method :meth:`Sexp.named` was replaced by a Python `getter` :attr:`named`.
- R objects of type LANGSXP are now one kind of vector (... but this may change again)
- R objects of type EXPRSXP are now handled as vectors (... but this may change again)
- :func:`initEmbeddedR` renamed to :func:`initr`
- :func:`endEmbeddedR` renamed to :func:`endr`
:mod:`rpy2.robjects`:
- :class:`R` remains a singleton, but does not throw an exception when multiple instances are requested
Bugs fixed
----------
- unable to compile on Python2.4 (definition of aliases to Python2.5-specific were not where they should be).
- overflow issues on Python 2.4/64 bits when indexing R vector with very large integers.
- handling of negative indexes for :class:`SexpVector`'s :meth:`__getitem__` and :meth:`__setitem__` was missing
- trying to create an instance of :class:`SexpVector` before initializing R raises a RuntimeException (used to segfault)
- experimental method :meth:`enclos` was not properly exported
- setup.py was exiting prematurely when R was compiled against an existing BLAS library
- complex vectors should now be handled properly by :mod:`rpy2.rinterface.robjects`.
- methods :meth:`rownames` and :meth:`colnames` for :class:`RDataFrame` were incorrect.