Skip to content

Releases: scikit-hep/boost-histogram

Version 0.13.2

29 Apr 21:52
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

Version 0.11.1

22 Oct 18:38
Compare
Choose a tag to compare

Updating pybind11 to 2.6.0. #443 Features:

  • Python 3.9 support
  • PyPy2 / PyPy3.6 / PyPy3.7 support
  • Warnings on latest AppleClang fixed
  • 40% faster accumulator fills, simpler implementation
  • Segfaults when passing an object with a throwing repr fixed
  • kwargs replaced older workarounds (partially at the moment)
  • Using new py::type instead of pybind11::detail usage
  • Enhanced CMake support, finds conda and venv now, uses pybind11_find_import
  • Using setuptools support from pybind11 (previously vendored, so benefits have been available since 0.11.0)

Also cleans up SDists a bit. #467

Version 0.11.0

24 Sep 12:18
Compare
Choose a tag to compare

A release focused on preparing for the upcoming Hist 2.0 release.

User changes

  • Arbitrary items can be set on an axis or histogram. #450, #456
  • Subclasses can customize the conversion procedure. #456

Bug fixes

  • Fixed reading pickles from boost-histogram 0.6-0.8 #445
  • Minor correctness fix #446
  • Accidental install of typing on Python 3.5+ fixed
  • Scalar ND fill fixed #453

Developer changes

  • Updated to Boost 1.74 #442
  • CMake installs version.py now too #449
  • Updated setuptools infrastructure no longer requires NumPy #451
  • Some basic clang-tidy checks are now being run #455

Version 0.10.2

31 Jul 02:23
6290fe5
Compare
Choose a tag to compare

Quick fix for extra print statement in fill.

Bug fixes

  • Fixed debugging print statement in fill. #438

Developer changes

  • Added CI/pre-commit check for print statements #438
  • Formatting CMakeLists now too #439

Version 0.10.1

29 Jul 13:36
Compare
Choose a tag to compare

Several fixes were made, mostly related to Weight storage histograms from Uproot 4.

Bug fixes

  • Reduction on h.axes.widths supported again #428
  • WeightedSumView supports standard array operations #432
  • Operations shallow copy (non-copyable metadata supported) #433
  • Pandas Series as samples/weights supported #434
  • Support NumPy scalars in operations #436