On Tue, Oct 30, 2012 at 9:26 PM, Travis Oliphant <travis@continuum.io> wrote:
The NPY_CHAR is not a "real type".   There are no type-coercion functions attached to it nor ufuncs nor a full dtype object.      However, it is used to mimic old Numeric character arrays (especially for copying a string).  

It should have been deprecated before changing the ABI.  I don't think it was realized that it was part of the ABI (mostly for older codes that depended on Numeric).   I think it was just another oversight that inserting type-codes changes this part of the ABI.     

The positive side is that It's a small part of the ABI and not many codes should depend on it.   At this point, I'm not sure what can be done, except to document that NPY_CHAR has been deprecated in 1.7.0 and remove it in 1.8.0 to avoid future ABI difficulties.    

The short answer, is that codes that use NPY_CHAR must be recompiled to be compatible with 1.6.0.

IIRC, it was proposed to remove it at one point, but the STScI folks wanted to keep it because their software depended on it.