# Bottleneck 1.1.0

Release date: 2016-06-22

This release makes Bottleneck more robust, releases GIL, adds new functions.

## More Robust

- `bn.move_median()` can now handle NaNs and min_count parameter

- `bn.move_std()` is slower but numerically more stable

- Bottleneck no longer crashes on byte-swapped input arrays

## Faster

- All Bottleneck functions release the GIL

- median is faster if the input array contains NaN

- move_median is faster for input arrays that contain lots of NaNs

- No speed penalty for median, nanmedian, nanargmin, nanargmax for Fortran ordered input arrays when axis is None

- Function call overhead cut in half for reduction along all axes (axis=None) if the input array satisfies at least one of the following properties: 1d, C contiguous, F contiguous

- Reduction along all axes (axis=None) is more than twice as fast for long, narrow input arrays such as a (1000000, 2) C contiguous array and a (2, 1000000) F contiguous array

## New Functions

- move_var

- move_argmin

- move_argmax

- move_rank

- push

## Beware

- `bn.median()` now returns NaN for a slice that contains one or more NaNs

- Instead of using the distutils default, the ‘-O2’ C compiler flag is forced

- `bn.move_std()` output changed when mean is large compared to standard deviation

- Fixed: Non-accelerated moving window functions used min_count incorrectly

- `bn.move_median()` is a bit slower for float input arrays that do not contain NaN

## Thanks

Alphabeticaly by last name

- Alessandro Amici worked on setup.py

- Pietro Battiston modernized bottleneck installation

- Moritz E. Beber set up continuous integration with Travis CI

- Jaime Frio improved the numerical stability of move_std

- Christoph Gohlke revived Windows compatibility

- Jennifer Olsen added NaN support to move_median

## Contributors