Skip to content

Releases: dvdoug/BoxPacker

v3.9.0

14 Mar 21:53
Compare
Choose a tag to compare

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

v3.8.0

26 Jan 18:22
Compare
Choose a tag to compare

Added

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

v3.7.0

01 Jan 17:56
Compare
Choose a tag to compare

Added

  • Added getVolume() helper method to PackedItemList

v3.6.2

28 Sep 20:46
Compare
Choose a tag to compare

Added

  • Support for PHP 8.0

v2.7.2

28 Sep 20:24
Compare
Choose a tag to compare

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

28 Sep 18:52
Compare
Choose a tag to compare

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

11 Jun 22:08
Compare
Choose a tag to compare

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

v2.7.1

11 Jun 22:08
Compare
Choose a tag to compare

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

v3.6.0

26 Apr 16:57
Compare
Choose a tag to compare

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

26 Apr 16:57
Compare
Choose a tag to compare

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)