Releases: dvdoug/BoxPacker
v3.9.0
Added
- Added
packAcrossWidthOnly()
toVolumePacker
for scenarios where the container will be side-loaded rather
than top-loaded (e.g. truck loading) - Added
getWeight()
helper method toPackedItemList
- Experimental visualisation tool has been added to the repo. All aspects of the tool are subject to change.
Changed
- Improved efficiency in packing
v3.8.0
v3.7.0
v3.6.2
v2.7.2
Added
- Support for PHP 8.0
Removed
- Making the test suite compatible with PHP 8.0 has necessitated the removal of support for PHP 5.4 - 7.0 (see note below)
v2 of BoxPacker is in maintenance mode only, all users are encouraged to update to v3. This release has been made primarily to certify PHP 8 compatibility, unless an egregious bug is discovered (e.g. a physically impossible packing) this will probably be the last v2 release that includes any changes to core packing logic. (Any) further releases are intended to be limited to compatibility with future PHP versions.
v1.7.3
Added
- Support for PHP 8.0
Changed
- Optimisation when packing a large number of items
- Improved efficiency in packing and weight distribution
- The ItemList passed to VolumePacker's constructor is now cloned before usage, leaving the passed-in object unaffected. Previously this was used as a working dataset. The new behaviour aligns with the existing behaviour of Packer
Fixed
- Fixed issue where internal sort consistency wasn't always correct
- Fixed situation where internal WorkingVolume could be passed into a constraint callback, rather than the calling application's own Box
- Fixed issue where the list of previously packed items passed into a constraint callback was not correct
Removed
- Making the test suite compatible with PHP 8.0 has necessitated the removal of support for PHP 5.4 - 7.0 (see note below)
v1 of BoxPacker is in maintenance mode only, all users are encouraged to update to v3. This release has been made primarily to certify PHP 8 compatibility, unless an egregious bug is discovered (e.g. a physically impossible packing) this will be the last v1 release that includes any changes to core packing logic. (Any) further releases will be limited to compatibility with future PHP versions.
v3.6.1
v2.7.1
v3.6.0
Changed
- Improved efficiency in packing and weight distribution
- Major internal refactoring. The public-facing API did not change in any incompatible ways, but if you extended any of the
@internal
classes or made use of@internal
methods you may be affected. - Bail out earlier in the packing process where an item doesn't fit [colinmollenhour]
Fixed
- Fixed potential issue where internal sort consistency wasn't always correct
- Fixed potential issue where custom constraints might not be fully respected
- Avoid divide by zero error when a box is specified to have a depth of 0mm (e.g. 2D packing)
- Better docblocks [colinmollenhour]
v2.7.0
Changed
- Improved efficiency in packing and weight distribution
- Major internal refactoring. The public-facing API did not change in any incompatible ways, but if you extended any of the
@internal
classes or made use of@internal
methods you may be affected. - Bail out earlier in the packing process where an item doesn't fit [colinmollenhour]
Fixed
- Fixed potential issue where custom constraints might not be fully respected
- Avoid divide by zero error when a box is specified to have a depth of 0mm (e.g. 2D packing)