Skip to content

@dvdoug dvdoug released this May 5, 2021

Fixed

  • Fixed issue where available width for an item could be miscalculated at the far end of a box

Changed

  • Improved efficiency in packing in the vertical direction
Assets 2

@dvdoug dvdoug released this Mar 14, 2021

Added

  • Added packAcrossWidthOnly() to VolumePacker for scenarios where the container will be side-loaded rather
    than top-loaded (e.g. truck loading)
  • Added getWeight() helper method to PackedItemList
  • Experimental visualisation tool has been added to the repo. All aspects of the tool are subject to change.

Changed

  • Improved efficiency in packing
Assets 2

@dvdoug dvdoug released this Jan 26, 2021

Added

  • Added fromArray helper method to BoxList to make bulk add easier [bram123]
Assets 2

@dvdoug dvdoug released this Jan 1, 2021

Added

  • Added getVolume() helper method to PackedItemList
Assets 2

@dvdoug dvdoug released this Sep 28, 2020

Added

  • Support for PHP 8.0
Assets 2

@dvdoug dvdoug released this Sep 28, 2020

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.

Assets 2

@dvdoug dvdoug released this Sep 28, 2020

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.

Assets 2

@dvdoug dvdoug released this Jun 11, 2020

Fixed

  • 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
Assets 2

@dvdoug dvdoug released this Jun 11, 2020

Fixed

  • 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
Assets 2

@dvdoug dvdoug released this Apr 26, 2020

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]
Assets 2