<commit_before># Changelog

## [3.2.2] - 2018-11-20
### Fixed
 - Fixed divide by zero warning when attempting to pack an item with 0 depth

## [3.2.1] - 2018-11-13
### Fixed
 - Fixed issue where internal sort consistency wasn't always correct

## [3.2.0] - 2018-11-12
### Added
 - Added `getVolume()` helper method to `PackedItem` [Cosmologist]
### Changed
 - Improved item orientation selection for better packing
 - Minor refactorings for code clarity

## [3.1.3] - 2018-06-15
### Changed
 - Worked around an PHP recursion issue when comparing 2 `Item`s.

## [3.1.2] - 2018-06-13
### Changed
 - Fixed typos in documentation code samples

## [3.1.1] - 2018-06-03
### Changed
 - Tweaked composer configuration to make it easier to run the samples in the documentation
 - Minor speed improvements

## [3.1.0] - 2018-02-19
### Added
 - Optional 'Infallible' mode of packing to not throw an exception on error (e.g. item too large) but to continue packing the other items
### Changed
 - Improved stability algorithm
 - Improved box selection for certain cases
 - Some internal refactoring

## [3.0.1] - 2018-01-01
### Added
 - Declare ``PackedBoxList`` as implementing `Countable`
### Changed
 - Improved item orientation selection for better packing

## [3.0.0] - 2017-10-23
### Added
 - Introduced `PackedItem`s which are a wrapper around `Item`s with positional and dimensional information (x, y, z co-ordinates of corner closest to origin, width/length/depth as packed)
 - Added method to set threshold at which weight redistribution is disabled  
### Changed
 - `PackedBox` now contains a `PackedItemList` of `PackedItem`s (rather than an `ItemList` of `Item`s)
 - `ConstrainedItem->canBePackedInBox` now takes a `PackedItemList` of `PackedItem`s (rather than an `ItemList` of `Item`s)
 - `BoxList`, `ItemList`, `PackedBoxList` have been altered to implement the `Traversable` interface rather than extend `SplHeap` directly so that any future changes to the internals will not need an API change  
 - Minimum PHP version is now 7.1
### Removed
 - HHVM support now that project has a stated goal of no longer targeting PHP7 compatibility

## [2.5.0] - 2018-11-20
### Fixed<commit_msg>Update changelog<commit_after># Changelog

## [3.2.2] - 2018-11-20
### Fixed
 - Fixed divide by zero warning when attempting to pack an item with 0 depth

## [3.2.1] - 2018-11-13
### Fixed
 - Fixed issue where internal sort consistency wasn't always correct

## [3.2.0] - 2018-11-12
### Added
 - Added `getVolume()` helper method to `PackedItem` [Cosmologist]
### Changed
 - Improved item orientation selection for better packing
 - Minor refactorings for code clarity

## [3.1.3] - 2018-06-15
### Changed
 - Worked around an PHP recursion issue when comparing 2 `Item`s.

## [3.1.2] - 2018-06-13
### Changed
 - Fixed typos in documentation code samples

## [3.1.1] - 2018-06-03
### Changed
 - Tweaked composer configuration to make it easier to run the samples in the documentation
 - Minor speed improvements

## [3.1.0] - 2018-02-19
### Added
 - Optional 'Infallible' mode of packing to not throw an exception on error (e.g. item too large) but to continue packing the other items
### Changed
 - Improved stability algorithm
 - Improved box selection for certain cases
 - Some internal refactoring

## [3.0.1] - 2018-01-01
### Added
 - Declare ``PackedBoxList`` as implementing `Countable`
### Changed
 - Improved item orientation selection for better packing

## [3.0.0] - 2017-10-23
### Added
 - Introduced `PackedItem`s which are a wrapper around `Item`s with positional and dimensional information (x, y, z co-ordinates of corner closest to origin, width/length/depth as packed)
 - Added method to set threshold at which weight redistribution is disabled  
### Changed
 - `PackedBox` now contains a `PackedItemList` of `PackedItem`s (rather than an `ItemList` of `Item`s)
 - `ConstrainedItem->canBePackedInBox` now takes a `PackedItemList` of `PackedItem`s (rather than an `ItemList` of `Item`s)
 - `BoxList`, `ItemList`, `PackedBoxList` have been altered to implement the `Traversable` interface rather than extend `SplHeap` directly so that any future changes to the internals will not need an API change  
 - Minimum PHP version is now 7.1
### Removed
 - HHVM support now that project has a stated goal of no longer targeting PHP7 compatibility

## [2.5.0] - 2018-11-20
### Added
 - Backported positional data support from v3 via new `getPackedItems()` method on `PackedBox`
### Fixed
{'fraction_non_alphanumeric': 0.10758928571428572, 'fraction_numerical': 0.0515625, 'mean_word_length': 3.940463065049614, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '3455478', 'n_tokens_mistral': 1508, 'n_tokens_neox': 1329, 'n_words': 557}