<commit_before>
=============
Release Notes
=============

These are the major changes made in each release. For details of the changes
see the commit log at http://github.com/kwgoodman/bottleneck

Bottleneck 1.0.0
================

*Release date: Not yet released, in development*

This release is a complete rewrite of Bottleneck.

- Function-call overhead cut in half---a big speed up for small input arrays
- Arbitrary ndim input arrays accelerated; previously only 1d, 2d, and 3d
- No speed penalty for reducing along all axes when input is Fortran ordered
- bn.move_max, bn.move_nanmax, and min are faster for int input arrays
- bn.nanrankdata is twice as fast for float input arrays
- Single API: bn.nansum instead of bn.nansum and nansum_2d_float64_axis0
- On 64-bit systems bn.nansum(int32) returns int32 instead of int64
- Reducing over all axes returns, e.g., 6.0; previously np.float64(6.0)
- bn.ss() now has default axis=None instead of axis=0
- bn.nn() is no longer in bottleneck
- bn.move_max, bn.move_namax, and min now return float32 for float32 input
- add unit tests for 0d input arrays
- Can now install bottleneck with pip even if numpy is not already installed
- Compile time dropped by a factor of xxxx
- Source tarball is one-xxxx the size of the previous release
- Requires numpy 1.9.1

Older versions
==============

Release notes from past releases.

Bottleneck 0.8.0<commit_msg>rewrite and expand release notes<commit_after>
=============
Release Notes
=============

These are the major changes made in each release. For details of the changes
see the commit log at http://github.com/kwgoodman/bottleneck

Bottleneck 1.0.0
================

*Release date: Not yet released, in development*

This release is a complete rewrite of Bottleneck.

**Faster**

- Builds 15 times faster
- Function-call overhead cut in half---a big speed up for small input arrays
- Arbitrary ndim input arrays accelerated; previously only 1d, 2d, and 3d
- No speed penalty for reducing along all axes when input is Fortran ordered
- bn.move_max, bn.move_min are faster for int input arrays
- bn.nanrankdata is twice as fast for float input arrays

**Smaller**

- Compiled binaries 14.1 times smaller
- Source tarball 4.7 times smaller
- 9.8 times less C code
- 4.3 times less Cython code
- 3.7 times less Python code

**Beware**

- Requires numpy 1.9.1
- Single API, e.g.: bn.nansum instead of bn.nansum and nansum_2d_float64_axis0
- On 64-bit systems bn.nansum(int32) returns int32 instead of int64
- Reducing over all axes returns, e.g., 6.0; previously np.float64(6.0)
- bn.ss() now has default axis=None instead of axis=0
- bn.nn() is no longer in bottleneck

**Bug Fixes**

- Can now install bottleneck with pip even if numpy is not already installed
- bn.move_max, bn.move_min now return float32 for float32 input
- Bug prevention: add unit tests for 0d input arrays

**min_count**

- Previous releases had moving window functions pairs: move_sum, move_nansum
- This release only has half of the pairs: move_sum
- Instead a new input parameter, min_count, has been added
- min_count=None same as old move_sum; min_count=1 same as old move_nansum
- If # non-NaN values in window < min_count, then NaN assigned to the window
- Exception: move_median does not tkae min_count as input


Older versions
==============

Release notes from past releases.

Bottleneck 0.8.0
{'fraction_non_alphanumeric': 0.0950829383886256, 'fraction_numerical': 0.0254739336492891, 'mean_word_length': 4.093514328808446, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7264432', 'n_tokens_mistral': 1092, 'n_tokens_neox': 1010, 'n_words': 466}