<span style="font-weight: 400;">A lot has happened since the last ArrayFire release and a lot has changed. We have tackled a large number of issues on <a href="https://github.com/arrayfire/arrayfire">GitHub</a> from our ever growing community of users and contributors and we have introduced significant improvements and functions to our library. </span><span style="font-weight: 400;">What has not changed though, is our passion for pushing the boundaries of computational hardware and our commitment to giving our users an unprecedented degree of freedom to create lightning fast software faster than ever before.</span>

<span style="font-weight: 400;">With this enthusiasm, we would like to announce the release of Arrayfire v3.4.</span>

<strong>Major Updates and New Features</strong>
<ul>
 	<li>Sparse Matrix and BLAS
<ul>
 	<li>Support for CSR and COO storage types</li>
 	<li>Sparse-Dense Matrix Multiplication and Matrix-Vector Multiplication</li>
 	<li>Conversion to and from dense matrix to CSR and COO storage types</li>
</ul>
</li>
 	<li>Faster JIT for CUDA and OpenCL
<ul>
 	<li>Performance improvements</li>
 	<li>Support for evaluating multiple outputs in a single kernel</li>
</ul>
</li>
 	<li>Support for random number generator engines
<ul>
 	<li>Philox</li>
 	<li>Threefry</li>
 	<li>Mersenne Twister</li>
</ul>
</li>
 	<li>Improvements to graphics
<ul>
 	<li>Using Forge v0.9.0</li>
 	<li>Vector Field plotting functionality</li>
 	<li>Multiple overlays on the same window are now possible</li>
 	<li>New API to set axes limits for graphs</li>
 	<li>New API for plot and scatter</li>
</ul>
</li>
</ul>
There are numerous other improvements such as new interpolation methods, image moments, scan by key and so on. For the comprehensive list of improvements and bug fixes, please refer to our <a href="http://arrayfire.org/docs/releasenotes.htm">release notes</a>.

<span style="font-weight: 400;">While we are happy for reaching this milestone, we are not complacent. Work on the next milestone is continuing on full steam and we hope to exceed the expectations of our community.</span>