Releases: scikit-hep/boost-histogram
Version 1.5.2
Fix for axis metadata not passing though non-uniform rebinning correctly. Flow bins are now preserved when doing a non-uniform rebinning. Also adds the ability to rebin by edges or an existing axis.
This is expected to be the last release with Python 3.8 support. Manylinux support will likely be bumped from 2024
to 2_28
soon, as well.
Features
Bug fixes
- Axis metadata was broken when rebinning #978
- Flow bins were lost when using variable rebinning #977
- Scikit-build-core 0.11, with PEP 639 license metadata #986, #988
- Prepare for an potential upcoming pybind11 3 change #994
CI and testing
Full Changelog: v1.5.1...v1.5.2
Version 1.5.1
What's Changed
Fixes
- Make non-uniform rebinning work for
Weight()
and friends by @Saransh-cpp in #972
CI and internal
- Restore missing wheels by @henryiii in #959
- Fix misplaced inherit by @henryiii in #962
- Update cibw config by @henryiii in #969
- Use dependency-groups by @henryiii in #973
Full Changelog: v1.5.0...v1.5.1
Version 1.5.0
Features
- Support variable rebinning #913
- Removed support for Python 3.7 #952
- Added support for Python 3.13 and free-threaded Python 3.13t #950
- Add GitHub artifact attestations to package distribution #933
Backend and docs
- Move build to scikit-build-core #887
- Clean up sdist files #928
- Minor touchup to build backend, use scikit-build-core 0.10+ #948
CI and testing
- Try cibuildwheel pyodide #935
- Try to fix pyodide build #934
- Update emscripten build #937
- Bump to Pyodide 3.12 #938
- Speed up pyodide job by a few seconds #941
- Update jobs and noxfile #929
- Use pylint 3.2 github formatter instead #932
- Add some CI speedups #939
- Faster cibuildwheel #942
- Adapt to final release of NumPy 2.1.0 #951
Full Changelog: v1.4.1...v1.5.0
Version 1.4.1
Features
Bugfixes
- Support filling Integer axes with unsigned integers #917
- Avoid triggering NumPy 2 dev release install on Python 3.12. #914
Backend and docs
New Contributors
- @Saransh-cpp made their first contribution in #909
- @veprbl made their first contribution in #917
Full Changelog: v1.4.0...v1.4.1
Version 1.4.0
This release supports Python 3.7-3.12. You can now turn off the flow bin on Int/Str Categories, and filling an integer-based axis requires an integer array - a floating point array is disallowed (a single float was always disallowed), due to issues with rounding around 0.
Features
overflow=False
is now supported forIntCategory
andStrCategory
. #883
Changes
- Using
_storage_type
now produces aDeprecationWarning
instead ofPendingDeprecationWarning
. #801 - Updated Boost to 1.82. The upper limit on Regular axes without overflow is now inclusive like NumPy. #802
- Produce more detailed error messages on C++ errors #848
Bugfixes
- Make filling an integer axis with a float array (also) an error. #876
- Include
-latomic
onarmv7l
#823
Backend and docs
- Add Python 3.12 support and binary wheels, also latest PyPy.
manylinux2014+
required. #880, #878 - Drop Python 3.6 support. #798
- Drop pre-built wheels for 32-bit Linux (NumPy also dropped). #849
- Add testing for WebAssembly (Pyodide). #850
- Use Ruff #829
New Contributors
- @matthewfeickert made their first contribution in #823
Full Changelog: v1.3.2...v1.4.0
Version 1.3.2
1.3 is the final release series supporting Python 3.6 and manylinux1 - manylinux2010. The next release will move to non EoL Python and manylinux images only.
Changes
- Added
storage_type()
as public API #781, with pending deprecation for_storage_type
. #786 #790 - Better errors generated for missing or incorrect sample to mean storage. #782
- Better error message when views are set with an incompatible array. #794
Bug fixes
- Patch broken sum with fully empty (0 bin) axis. #718
- Fix zero range
bh.numpy.histogram
to matchnumpy.histogram
behavior. #721 - Avoid triggering
__init__
when copying (better support for subclasses with custom init's). #759 IntCategory
now supports numbers larger than 224 (now 253). #792- Pick a subset now supported inside a larger expression. #793
Backend and docs
Version 1.3.1
Bug fixes
- Fixed regression with invalid
.project
input causing segfaults. #708 - Minor skips for specific tests on ppc64le, primarily for a NumPy bug. #707
- Avoid using EH for program control, better on Pyodide. #709
- Fix regression with exact float not being accepted for
.index
forIntCategory
in 1.3.0. Addhist
nox session to check downstream (manually for the
moment). #710
Version 1.3.0
User changes
- PyPy 3.8 now supported with binary wheels. #677
- The GIL is released a little more often now. #662
- AxesTuple does not allow construction of non-axes. #680
- KeyError is now thrown when accessing a non-existent item in a Category Axis #689
- WeightedViews now support
np.cumsum
#699
Bug fixes
- Fixed WeightedMean storages producing NaN for
.variances()
#695 - Modify local include slightly to enable WebAssembly compilation in Pyodide #702
Developer changes
Version 1.2.1
Version 1.2.0
User changes
- Python 3.10 officially supported, with wheels.
- Support subtraction on histograms #636
- Integer histograms are now signed #636
Bug fixes
- Support custom setters on AxesTuple subclasses. #627
- Faster picking if slices are not also used #645 or if they are #648 (1000x or more in some cases)
- Throw an error when an AxesTuple setter is the wrong length (inspired by zip strict in Python 3.10) #627
- Fix error thrown on comparison with axis and non-axis object #631
- Static typing no longer thinks
storage=
is required #604