Skip to content

Releases: scikit-hep/boost-histogram

Version 1.2.1

05 Oct 03:45
5f89f92

Choose a tag to compare

User changes

  • musllinux wheels now provided along with manylinux #656

Bug fixes

  • Fixed single-element negative growth fill #654

Developer changes

  • No longer require Docker for clang-format, runs online too #610
  • Using pybind11 2.8.0 #658

Version 1.2.0

16 Sep 21:14

Choose a tag to compare

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

Developer changes

  • Support NumPy 1.21 for static type checking #625
  • Use newer Boost 1.77 and Boost.Histogram 1.77+1 #594
  • Provide nox support #647

Version 1.1.0

07 Jul 00:31
2361517

Choose a tag to compare

User changes

  • Experimentally support list selection on categorical axes #577
  • Support Python 3.8 on Apple Silicon #600
  • Scaling and addition with a scalar affect flow bins too #580
  • Change sum_of_deltas_squared to _sum_of_deltas_squared (was an implementation detail) #602

Bug fixes

  • Fix "picking" on a flow bin #576
  • Better error message on getattr #596

Developer changes

  • Test on Python 3.10 beta releases #600
  • Provide a CMakeLists for quick standalone Boost.Histogram C++ experiments #591
  • Adding logging with PyTest failure output #575

Version 1.0.2

29 Apr 22:14

Choose a tag to compare

  • Fix scaling a weighted storage #559
  • Fix partial summation over a Categorical axis #564
  • Support running type checking from Python < 3.8 #542

Version 0.13.2

29 Apr 21:52

Choose a tag to compare

  • Backport fix scaling a weighted storage
  • Backport fix partial summation over a Categorical axis

Version 1.0.1

17 Mar 18:45

Choose a tag to compare

Subclassing Histogram changes

  • A family= is no longer required if you only subclass Histogram. #533

Bug fixes

  • Fix summing of Mean/WeightedMean accumulators #537
  • Added missing dependency on typing_extensions for Python 3.6 & 3.7 #529

Typing changes

  • Added Ellipsis support to typing. #525
  • Better typing for Views. #530
  • Fixed issue with Histogram copy constructor requiring metadata #532

Version 0.13.1

17 Mar 18:40

Choose a tag to compare

Backport release for the 0.x series.

  • Backport fix for Mean/WeightedMean summing.
  • Backport fix for boost_histogram.numpy density.
  • Backport missing metadata from the repr's.
  • Ignore family= on Histogram subclassing to make subclassing Histogram only possible in 1.x + 0.x code.

Version 1.0.0

09 Mar 21:20
d493cea

Choose a tag to compare

Dropped support for Python 2 and 3.5; removed large numbers of workarounds. Fully statically typed. API compatible with the final 0.x release for most uses, except for subclassing; subclassing histogram components now uses Python 3 class keyword syntax to set families.

User changes

  • Dropped Python 2.7 and 3.5 support #512
  • Removed deprecated .options from axes. Use .traits instead. #503
  • Full static typing available, UHI 0.1.2+ supported. #516, #517, #519, #520, #521, #523

Subclassing Histogram changes

  • Use keyword class family setting when subclassing histogram components
    instead of custom decorator. #513
  • Structure of internal repr creation changed and made slightly more public. #518

Bug fixes

  • Consistently show metadata= in repr if present; refactored internal repr handling #518
  • Minor typing related fixes for rare bugs (especially in numpy.py, #521)

Version 0.13.0

19 Feb 16:15
6c0351b

Choose a tag to compare

PlottableProtocol provides a way to plot in different libraries, and easy
access to common quantities. This is expected to be the final release for
Python 2, and mostly equivalent in API to 1.0.

User changes

  • Support for PlottableProtocol. You can now access .values(), .counts(),
    and .variances() on all storages; used by plotting libraries. .kind describes
    the Kind of the histogram (bh.Kind.COUNT or bh.Kind.MEAN). .options has
    been renamed to .traits, and a few more useful traits were added, like
    .discrete. Most other portions of the Protocol were already present. #476
  • Removed deprecated .rank on histograms (since 0.8). Use .ndim instead. #505
  • Supports converting user histogram objects that provide a
    _to_boost_histogram_ method. #483
  • A view=True parameter must now be passed to get a View instead of a standard
    NumPy values arrray from to_numpy(). #498

Bug fixes

  • Added additional support for typing, fixing a couple of rare Python 2 bugs in the process #493.
  • The resulting histogram from bh.numpy.* functions is now reducible #508

Developer changes

  • Use GitHub Actions for ARM compiling #474
  • Apple Silicon support (since 0.12) #495
  • Support compiling with C++17 #502
  • Rename NPY_NUM_BUILD_JOBS to CMAKE_BUILD_PARALLEL_LEVEL for consistency
    with other Scikit-HEP projects. #502

Version 0.12.0

28 Jan 15:24

Choose a tag to compare

Pressing forward to 1.0.

User changes

  • You can now set all complex storages, either on a Histogram or a View with an
    (N+1)D array #475
  • Axes are now normal __dict__ classes, you can manipulate the __dict__ as
    normal. Axes construction now lets you either use the old metadata shortcut
    or the __dict__ inline. #477

Bug fixes

  • Fixed slicing projection with one-sided slices #479
  • Fixed issue if final bin of Variable histogram was infinite by updating to Boost 1.75 #470
  • NumPy arrays can be used for weights in bh.numpy #472
  • Vectorization for WeightedMean accumulators was broken #475

Developer changes

  • Bumped to pybind11 version #470
  • Black formatting used in notebooks too #470