First Boost release, version 4.0 in former internal counting.
    
- 
          Removed Python bindings, will be developed in separate repository
        
- 
          All axes can be made optionally circular, except category axis
        
- 
          All axes now support generic attached metadata
        
- 
          All axes have now independently configurable underflow/overflow extra bins
        
- 
          Removed circular axis (which is just a circular regular axis)
        
- 
          Added indexed adaptor generator for convenient and fast iteration over
          histograms
        
- 
          Support for axes that can grow in range
        
- 
          Support for axes which accept multiple values (example: hexagonal binning)
        
- 
          Support for profiles and more generally, arbitrary accumulators in each
          cell
        
- 
          Support for serializing to xml archives
        
- 
          Added compatibility with Boost.Range, Boost.Units, and Boost.Accumulators
        
- 
          Added deduction guides for axis types and histogram
        
- 
          Performance improvements
        
- 
          Renamed adaptive_storagetounlimited_storage
- 
          Replaced boost::multiprecision::cpp_intwith custom type to decouple
          libraries
- 
          Internal simplification of axis::variant
- 
          Make all storages behave more like containers, simplifying the design
        
- 
          Histograms supports add, sub, mul, div
        
- 
          replaced operator[]in axis with explicit methodbin
- 
          replaced operator()in axis with explicit methodindex
- 
          replaced internal use of boost::containerswith stdlib containers
- 
          Much improved docs, reference documentation, user guide, more examples
        
- 
          Allocator support everywhere
        
- 
          Internal refactoring
        
- 
          Renamed bincountmethod
          tosize
- 
          Support for axes with only overflow and no underflow bin
        
- 
          category axis now by default has bin for "other" input that does
          not fall into the predefined categories, making it consistent with other
          axes
        
- 
          NaN is now consistently put into overflow bin for all axes
        
- 
          Eliminated warnings about safe internal conversions on MSVC
        
- 
          Established a cpp house style with corresponding .clang-format file
        
- 
          Better detection of Python library on all systems
        
- 
          Improved code coverage by testing more input errors
        
- 
          Raise ValueError instead of generic RuntimeError in Python on input errors
        
- 
          Support for efficient adding of multiple histograms and scaling
        
- 
          Re-design of category axis as a general mapping between unique values and
          bins
        
- 
          Re-design of the bin description an axis returns upon element access
        
- 
          Interface cleanup and simplification, more consistency between Python and
          C++ interface
        
- 
          Iterators for histogram and axes for STL compatibility
        
- 
          Regular axis in C++: Allowing transforms with state
        
- 
          Regular axis in Python: Support for all C++ transforms
        
- 
          Polymorphic axis::any type
        
- 
          Internal refactoring from boost::mpl and boost::fusion to std::tuple and
          boost::mp11
        
- 
          Windows support
        
- 
          Added static_histogram (v1.0 only had dynamic_histogram).
        
- 
          Merged wfill(...) and fill(...) interface.
        
- 
          Support custom allocators in storage classes.
        
- 
          Replaced static_storage with array_storage.
        
- 
          Replaced dynamic_storage with unlimited_storage, which adds the capability
          to grow the bin counter into a cpp_int, thus avoiding integer overflow
          completely.
        
- 
          Serialization uses binary_archive instead of text_archive. The latter is
          portable, but the performance is terrible.
        
- 
          Python interface changed: histograms are now iterable, returning axis classes
        
- 
          Support reduction (removing a subset of axes and returning the equivalent
          histogram; in other words, those axes are integrated over)