### PyROOT

Python 3 is now in principle supported: a problem remains with passing builtin types by reference, since the internal object layout has changed. There may be further problems with handling of char*: all strings are unicode in p3, so if the C++ code is meant to see the char* as byte*, that won't work.

Other significant feature improvements include:

- Globally overloaded operators are now supported, and histogram unary multiplication with scalar is mapped onto TH1.Scale.
- Significant changes to equality and non-equality operators should make their behavior more consistent across the board, and in particular globally overloaded equality operators for STL iterators should work as expected (if a dictionary entry is generated for them).
- Global arrays of builtin types are now supported.
- Added further mappings of operator converters for builtin types.
- Individual methods can release the GIL, by setting the "_threaded" parameter of the method to True.
- Constructors need not be creators of new objects (controlled with their "_creates" parameters).
- Added access to TSelector protected data members in TPySelector.
- Derivable Fitter base classes are added for use with ROOT::Fitter.
- Special cases for RooFit are added to resolve a few specific overloading problems.
- A Python Warning is issued if a void* converter or executor is chosen out of necessity (e.g. because dictionaries are missing).
- A Python Warning is issued if keyword arguments are given (unsupported).

Notable bug fixes include:

- Object returns as a member of a temporary will keep a life line to that temporary, to prevent it from being destroyed in a long expression.
- Added "_" as a valid class name character.
- Speed of the destruction of memory-regulated objects has been improved (made linear, rather than quadratic).