Skip to content

Releases: dvdoug/BoxPacker

v2.4.1

04 Sep 19:56
Compare
Choose a tag to compare
  • Used/remaining space calculations were sometimes offset by 90 degrees leading to confusing numbers

v1.6.1

04 Sep 19:55
Compare
Choose a tag to compare
  • Used/remaining space calculations were sometimes offset by 90 degrees leading to confusing numbers

v1.6.0

27 Aug 21:20
Compare
Choose a tag to compare

API-compatible backport of 2.4.0 to the v1 branch. All features present except 3D packing.

All users of v1 are highly recommended to upgrade to v2 which removes the "keep flat" limitation from v1.

  • Significant reworking of core packing logic to clarify concepts used and split out large functions into more readable pieces
  • Added getUsed[Width|Length|Depth]() on PackedBoxes to allow for better visibility into space utilisation
  • Added callback system for more complex constraints e.g. max number of hazardous items in a box. To take advantage of the additional flexibility, implement BoxPacker\ConstrainedItem rather than BoxPacker\Item
  • A specific ItemTooLargeException exception is now thrown when an item cannot fit inside any boxes rather than a generic \RuntimeException
  • Equal distribution of weight is now turned off when the number of boxes becomes large as it provides very little to no benefit at that scale and is slow to calculate

v2.4.0

14 Aug 20:40
Compare
Choose a tag to compare
  • Reworking of core packing algorithm for better clarity on concepts

v2.3.2

06 Aug 17:02
Compare
Choose a tag to compare
  • In some cases, complex user-added constraints via BoxPacker\ConstrainedItem were not being obeyed
  • Test classes refactored to be autoloadable
  • Some internal refactoring

v2.3.1

15 Apr 17:46
Compare
Choose a tag to compare
  • PackedBox->getUsedDepth() could incorrectly return a value of 0 in some situations

v2.3.0

09 Apr 21:04
Compare
Choose a tag to compare
  • Add callback system for more complex constraints e.g. max number of hazardous items in a box. To take advantage of the additional flexibility, implement BoxPacker\ConstrainedItem rather than BoxPacker\Item
  • Minor refactoring

v2.2.1

12 Mar 14:32
Compare
Choose a tag to compare
  • Added getItem() to ItemTooLargeException to make it programmatically possible determine what the affected item is

v2.2.0

06 Mar 21:16
Compare
Choose a tag to compare
  • The previous limitation that all items were packed flat has been removed
  • A specific ItemTooLargeException exception is now thrown when an item cannot fit inside any boxes rather than a generic \RuntimeException

v2.1.0

07 Jan 21:42
Compare
Choose a tag to compare
  • Added getUsed[Width|Length|Depth]() on PackedBoxes to allow for better visibility into space utilisation
  • Equal distribution of weight is now turned off when the number of boxes becomes large as it provides very little to no benefit at that scale and is slow to calculate
  • Various optimisations and internal refactorings