¿Por qué str (float) devuelve más dígitos en Python 3 que Python 2?

En Python 2.7,repr de unfloat devuelve el número decimal más cercano de hasta 17 dígitos de largo; Esto es lo suficientemente preciso como para identificar de forma exclusiva cada valor de punto flotante IEEE posible.str de unfloat funcionó de manera similar, excepto que limitó el resultado a 12 dígitos; Para la mayoría de los propósitos, este es un resultado más razonable y lo aísla de las pequeñas diferencias entre la representación binaria y decimal.

Demo de Python 2:http://ideone.com/OKJtxv

print str(1.4*1.5)
2.1
print repr(1.4*1.5)
2.0999999999999996

En Python 3.2 aparecestr yrepr devolver lo mismo.

Demo de Python 3:http://ideone.com/oAKRsb

print(str(1.4*1.5))
2.0999999999999996
print(repr(1.4*1.5))
2.0999999999999996

¿Existe una PEP que describa el cambio o alguna otra declaración de alguien responsable?

Respuestas a la pregunta(1)

Su respuesta a la pregunta