<a href="http://sandbox.arrayfire.com/wp-content/uploads/2014/01/arrayfire_logo_whitebkgnd.png"><img class="aligncenter size-medium wp-image-242" alt="arrayfire_logo_whitebkgnd" src="http://sandbox.arrayfire.com/wp-content/uploads/2014/01/arrayfire_logo_whitebkgnd-300x42.png" width="300" height="42" /></a>

It's that time again—we're pleased to announce the release of our newest version of ArrayFire: <strong>ArrayFire v2.1</strong>.

ArrayFire v2.1 is now bigger, faster, and stronger, thanks to some key function additions, API changes, feature improvements, and bug fixes.
<h3>Major Updates</h3>
[icon type="angle-double-right"] Support for CUDA 6.0
[icon type="angle-double-right"] Support for Mac OS X
[icon type="angle-double-right"] New language support
[icon type="caret-right"] ArrayFire for Java (https://github.com/arrayfire/arrayfire_java)
[icon type="caret-right"] ArrayFire for R! (https://github.com/arrayfire/arrayfire_r)
[icon type="caret-right"] ArrayFire for Fortran (https://github.com/arrayfire/arrayfire_fortran)&lt;sup&gt;#&lt;/sup&gt;
[icon type="angle-double-right"] ArrayFire Extras on Github (https://github.com/arrayfire)
[icon type="angle-double-right"] All language wrappers
[icon type="angle-double-right"] Rolling updates to examples (https://github.com/arrayfire/arrayfire_examples)
[icon type="angle-double-right"] OpenGL interop example (https://github.com/arrayfire/arrayfire_opengl_interop)

<em>Note: ArrayFire for Fortan has been removed from the installed library, but can be downloaded from the ArrayFire Extras GitHub page linked above.</em>
<h3>Function Additions</h3>
[icon type="angle-double-right"] Image transformation (warp affine) functions
[icon type="angle-double-right"] transform()
[icon type="angle-double-right"] affine and inverse affine transform of an image
[icon type="angle-double-right"] translate()
[icon type="angle-double-right"] translate an image using affine transforms
[icon type="angle-double-right"] scale()
[icon type="angle-double-right"] scale an image using affine transforms
[icon type="angle-double-right"] skew()
[icon type="angle-double-right"] skew an image using affine transforms
[icon type="angle-double-right"] Coordinate transformation (homogeneous transformation) functions
[icon type="angle-double-right"] transform_coords()
[icon type="angle-double-right"] Upto 3D homogeneous transformations
[icon type="angle-double-right"] rotate_coords()
[icon type="angle-double-right"] rotation matrix wrapper for homogeneous coordinate transformation
<h3>API Changes</h3>
[icon type="angle-double-right"] rotate()
[icon type="angle-double-right"] Added optional 4th parameter `recenter`
[icon type="angle-double-right"] af_filter removed
<h3>Feature Improvements</h3>
[icon type="angle-double-right"] approx1() and approx2() now support nearest interpolation
[icon type="angle-double-right"] rotate(), resize(), convolve() work for stack of images(3D) and gfor
[icon type="angle-double-right"] new indexing functions to add support for 4-th dimension gfor
[icon type="angle-double-right"] host pinned memory support for OpenCL
<h3>Bug Fixes</h3>
[icon type="angle-double-right"] loadimage()
[icon type="angle-double-right"] fixed bug with grayscale image reading
[icon type="angle-double-right"] gaussiankernel()
[icon type="angle-double-right"] fixed computation of gaussian kernel values
[icon type="angle-double-right"] resize()
[icon type="angle-double-right"] fixed resize in OpenCL
[icon type="angle-double-right"] medfilt()
[icon type="angle-double-right"] fixed to handle more data types
[icon type="angle-double-right"] rotate()
[icon type="angle-double-right"] fixed rounding issue on Tahiti GPUs
[icon type="angle-double-right"] approx1()
[icon type="angle-double-right"] fixed for gfor use
[icon type="angle-double-right"] flip()
[icon type="angle-double-right"] fixed launch configuration
[icon type="angle-double-right"] indexing now works on intel GPUs
<h3>Performance Improvements</h3>
[icon type="angle-double-right"] rotate() rewritten to improve performance