Numarray is an array processing package designed to efficiently
manipulate large multi-dimensional arrays.  Numarray is modelled after
Numeric and features c-code generated from python template scripts,
the capacity to operate directly on arrays in files, arrays of
heterogeneous records, string arrays, and in-place operation on memory
mapped files.  Numarray has been superceded by the 3rd generation
array package numpy.  This release is intended to ease the process of
transition for existing users.  New users should investigate numpy.

=========================================================================

Release Notes for numarray-1.5.2

I. Comments

This is a very modest release which primarily consists of bug fixes to
numarray's implementation of the numpy array interface.

II. Related Source Forge Tracker Items

1545988  	Added numpy ndim attribute 
1469418 	Array interface fails on views
1545971  	Array interface memory leak
1540639  	Added __array_struct__ to masked arrays
1495660 	numarray: segfault in rich compare
1492157 	bug in choose in recent numarray versions
1488863 	Two bugs in memap
1484133 	putmask byteswapped array
1476288 	Problems with initialization of 1-element string fields

See
http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse
for more details.

III. CAUTIONS

Switch to numpy.

=========================================================================

Release Notes for numarray-1.5.1

I. Comments

1. NumArray Operator Optimization Bug

numarray-1.4.0 moved all NumArray operator "hooks" from Python down
into C to make operators (e.g. +) as fast as ufuncs (e.g. add()).  A
number of users doing numarray applications in C or using pickling
reported problems. This bug has been fixed and is the predominant
motivator for this release.

2. Better NumPy dtype Support.  

I refined numarray's support for numpy-style numerical dtypes and
added the new dtype attribute:

>>> a = arange(10, dtype='i')
>>> a = arange(10, dtype='i4')
>>> a = arange(10, dtype='int32')
>>> a = arange(10, dtype='<i4')
>>> a = arange(10, dtype=numarray.dtype.int32)
>>> a.dtype.char   # i.e. int32
'i'
>>> a.dtype.kind   # i.e. integer
'i'
>>> a.dtype.itemsize
4
>>> a.dtype.byteorder  # little endian
'<' 
>>> a.dtype.str
'<i4'
>>> a.dtype.type
Int32
>>> a.dtype.isbuiltin
True
>>> a.dtype.isnative
True

This is still pretty superficial support for dtype and omits
specification of records, strings, and objects.  Although numarray's
dtype instances record byteorder, only native byteorder arrays can be
constructed at present.

II. Related Source Forge Tracker Items

1396372  	UInt32 AMD64 crash
1412737 	NumarrayType enumeration problem
1395938 	AMD64 Clipping, casting, and maximum values
1396742 	Slow performance in array protocol with string arrays
1397667 	Add scipy newcore numpy .dtype attribute
1386807 	sum(a boolean array) returns a negative value
1387438 	UFunc disease spreads (C operator hook bug)

See
http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse
for more details.

III. CAUTIONS

This release should be binary compatible with numarray-1.3.x.  New
extensions compiled against 1.5.1 may not work with 1.4.x or earlier
versions of numarray.

=========================================================================

Release Notes for numarray-1.5.0

I. ENHANCEMENTS

1. Implementation of scipy newcore array interface and __array_struct__
support (supplying and consuming) for numarray.  This should facilitate
better interoperability with scipy newcore and Numeric.  This protocol
is documented here: http://numeric.scipy.org/array_interface.html
but also in numarray's source code in Include/numarray/arrayif.h.

Thanks to everyone who gave feedback on 1.4.1 and particularly to
Francesc Altet for his diligent testing (and doctest) of
Numeric<->numarray data interchange.

II. BUGS FIXED / CLOSED

1365121  	Definition of PyObject* operator conflicts with C++
1350954 	nummacro.h:27: error: expected type-specifier before ';' tok
1346470 	Please document more of what byteswap and byteswapped do
1364215 	Cannot combine array and masked array (e.g. via divide)
1363723 	my_array = +my_other_array uncovers a bug
1364811 	Infinite loop converting empty CharArrays to lists
1364815 	Strange behaviour when creating empty Int32 arrays
1340983 	Fix __get_array_data__
1346480 	byteswapped doesn't match doc string
1346425 	Please document if copy "fixes" byte order
1346426 	Please document what array does with numarray arrays

See
http://sourceforge.net/tracker/?atid=450446&group_id=1369&func=browse
for more details.

III. CAUTIONS

This release should be binary compatible with numarray-1.3.x.  New
extensions compiled against 1.5.0 may not work with prior versions of
numarray.

WHERE
-----------

Numarray-1.5.0 windows executable installers, source code, and manual is
here:

http://sourceforge.net/project/showfiles.php?group_id=1369

Numarray is hosted by Source Forge in the same project which hosts
Numeric:

http://sourceforge.net/projects/numpy/

The web page for Numarray information is at:

http://www.stsci.edu/resources/software_hardware/numarray

Trackers for Numarray Bugs, Feature Requests, Support, and Patches are
at the Source Forge project for NumPy at:

http://sourceforge.net/tracker/?group_id=1369

REQUIREMENTS
------------------------------

numarray-1.5.0 requires Python 2.2.3 or greater.  


AUTHORS, LICENSE
------------------------------

Numarray was written by Perry Greenfield, Rick White, Todd Miller, JC
Hsu, Paul Barrett, Phil Hodge at the Space Telescope Science
Institute.  We'd like to acknowledge the assitance of Francesc Alted,
Paul Dubois, Sebastian Haase, Chuck Harris, Tim Hochberg, Nadav
Horesh, Edward C. Jones, Eric Jones, Jochen Kuepper, Travis Oliphant,
Pearu Peterson, Peter Verveer, Colin Williams, Rory Yorke, and
everyone else who has contributed with comments and feedback.

Numarray is made available under a BSD-style License.  See
LICENSE.txt in the source distribution for details.

-- 
Todd Miller             jmiller@stsci.edu


