Skip to content

Commit 90674a3

Browse files
committed
Prep release
1 parent 0a49fe6 commit 90674a3

File tree

4 files changed

+267
-263
lines changed

4 files changed

+267
-263
lines changed

CHANGELOG.md

Lines changed: 100 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Changelog
22

33
## [4.x - Unreleased] - 2024-xx-xx
4+
5+
## [4.0.0] - 2023-12-04
46
### Added
57
- Added new enumeration `Rotation` with values `Never`, `KeepFlat` and `BestFit`
68
- Added new `getAllowedRotation()` method to the `Item` interface to replace `getKeepFlat()`. This should return
@@ -11,19 +13,24 @@
1113
- Added `throwOnUnpackableItem()` to `Packer` to control if an exception is thrown (or not) if an unpackable item is
1214
found (defaults to true, consistent with previous behaviour)
1315
- Added `getUnpackedItems()` to `Packer` to retrieve the list of items that could not be packed (only applicable if
14-
exceptions are disabled).
16+
exceptions are disabled)
17+
- `PackedBox` now has readonly public properties `->box` and `->item`
18+
- `PackedItem` now has readonly public properties `->item`, `->x`, `->y`, `->z`, `->width`, `->length`, `->depth`
1519

1620
### Changed
1721
- Minimum PHP version is now 8.2
1822
- Exceptions are now in the `DVDoug\BoxPacker\Exception` namespace (previously `DVDoug\BoxPacker`)
19-
- The signature of the `canBePacked` method on the `ConstrainedPlacementItem` interface has been changed to replace the
23+
- The signature of the `->canBePacked` method on the `ConstrainedPlacementItem` interface has been changed to replace the
2024
first two arguments(`Box $box`, `PackedItemList $alreadyPackedItems`) with `PackedBox $packedBox`. This allows
2125
callbacks to make use of the helper methods provided on `PackedBox`. Access to the box and items can be done via
22-
`$packedBox->getBox()` and `$packedBox->getItems()`
23-
- `NoBoxesAvailableException` now has a `getAffectedItems()` method instead of `getItem()`. This should allow
26+
`$packedBox->box` and `$packedBox->items`
27+
- `NoBoxesAvailableException` now has a `->getAffectedItems()` method instead of `->getItem()`. This should allow
2428
improved handling of the exception inside calling applications when multiple items cannot be packed
2529

2630
### Removed
31+
- Removed `getBox()` and `getItems()` from `PackedBox`. Use the new public properties instead
32+
- Removed `->getItem()`, `->getX()`, `->getY()`, `->getZ()`, `->getWidth()`, `->getLength()` and `->getDepth()`
33+
from `PackedItem`. Use the new public properties instead
2734
- Removed deprecated `ConstrainedItem`. You should use `ConstrainedPlacementItem` as a replacement
2835
- Removed `getKeepFlat()` from the `Item` interface
2936
- Removed `InfalliblePacker`. You can now get the same behaviour by calling `->throwOnUnpackableItem(false)` and
@@ -567,91 +574,92 @@ Initial release
567574
- Experimental code to get a feel for how calculations can best be implemented
568575
- Only works if all items fit into a single box (so not production ready at all)
569576

570-
[4.x - Unreleased]: https://github.com/dvdoug/BoxPacker/compare/3.x...master
571-
572-
[3.12.1]: https://github.com/dvdoug/BoxPacker/compare/3.12.0...3.12.1
573-
[3.12.0]: https://github.com/dvdoug/BoxPacker/compare/3.11.0...3.12.0
574-
[3.11.0]: https://github.com/dvdoug/BoxPacker/compare/3.10.0...3.11.0
575-
[3.10.0]: https://github.com/dvdoug/BoxPacker/compare/3.9.4...3.10.0
576-
[3.9.4]: https://github.com/dvdoug/BoxPacker/compare/3.9.3...3.9.4
577-
[3.9.3]: https://github.com/dvdoug/BoxPacker/compare/3.9.2...3.9.3
578-
[3.9.2]: https://github.com/dvdoug/BoxPacker/compare/3.9.1...3.9.2
579-
[3.9.1]: https://github.com/dvdoug/BoxPacker/compare/3.9.0...3.9.1
580-
[3.9.0]: https://github.com/dvdoug/BoxPacker/compare/3.8.0...3.9.0
581-
[3.8.0]: https://github.com/dvdoug/BoxPacker/compare/3.7.0...3.8.0
582-
[3.7.0]: https://github.com/dvdoug/BoxPacker/compare/3.6.2...3.7.0
583-
[3.6.2]: https://github.com/dvdoug/BoxPacker/compare/3.6.1...3.6.2
584-
[3.6.1]: https://github.com/dvdoug/BoxPacker/compare/3.6.0...3.6.1
585-
[3.6.0]: https://github.com/dvdoug/BoxPacker/compare/3.5.2...3.6.0
586-
[3.5.2]: https://github.com/dvdoug/BoxPacker/compare/3.5.1...3.5.2
587-
[3.5.1]: https://github.com/dvdoug/BoxPacker/compare/3.5.0...3.5.1
588-
[3.5.0]: https://github.com/dvdoug/BoxPacker/compare/3.4.1...3.5.0
589-
[3.4.1]: https://github.com/dvdoug/BoxPacker/compare/3.4.0...3.4.1
590-
[3.4.0]: https://github.com/dvdoug/BoxPacker/compare/3.3.0...3.4.0
591-
[3.3.0]: https://github.com/dvdoug/BoxPacker/compare/3.2.2...3.3.0
592-
[3.2.2]: https://github.com/dvdoug/BoxPacker/compare/3.2.1...3.2.2
593-
[3.2.1]: https://github.com/dvdoug/BoxPacker/compare/3.2.0...3.2.1
594-
[3.2.0]: https://github.com/dvdoug/BoxPacker/compare/3.1.3...3.2.0
595-
[3.1.3]: https://github.com/dvdoug/BoxPacker/compare/3.1.2...3.1.3
596-
[3.1.2]: https://github.com/dvdoug/BoxPacker/compare/3.1.1...3.1.2
597-
[3.1.1]: https://github.com/dvdoug/BoxPacker/compare/3.1.0...3.1.1
598-
[3.1.0]: https://github.com/dvdoug/BoxPacker/compare/3.0.1...3.1.0
599-
[3.0.1]: https://github.com/dvdoug/BoxPacker/compare/3.0.0...3.0.1
600-
[3.0.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.2...3.0.0
601-
[2.7.2]: https://github.com/dvdoug/BoxPacker/compare/2.7.1...2.7.2
602-
[2.7.1]: https://github.com/dvdoug/BoxPacker/compare/2.7.0...2.7.1
603-
[2.7.0]: https://github.com/dvdoug/BoxPacker/compare/2.6.5...2.7.0
604-
[2.6.5]: https://github.com/dvdoug/BoxPacker/compare/2.6.4...2.6.5
605-
[2.6.4]: https://github.com/dvdoug/BoxPacker/compare/2.6.3...2.6.4
606-
[2.6.3]: https://github.com/dvdoug/BoxPacker/compare/2.6.2...2.6.3
607-
[2.6.2]: https://github.com/dvdoug/BoxPacker/compare/2.6.1...2.6.2
608-
[2.6.1]: https://github.com/dvdoug/BoxPacker/compare/2.6.0...2.6.1
609-
[2.6.0]: https://github.com/dvdoug/BoxPacker/compare/2.5.0...2.6.0
610-
[2.5.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.8...2.5.0
611-
[2.4.8]: https://github.com/dvdoug/BoxPacker/compare/2.4.7...2.4.8
612-
[2.4.7]: https://github.com/dvdoug/BoxPacker/compare/2.4.6...2.4.7
613-
[2.4.6]: https://github.com/dvdoug/BoxPacker/compare/2.4.5...2.4.6
614-
[2.4.5]: https://github.com/dvdoug/BoxPacker/compare/2.4.4...2.4.5
615-
[2.4.4]: https://github.com/dvdoug/BoxPacker/compare/2.4.3...2.4.4
616-
[2.4.3]: https://github.com/dvdoug/BoxPacker/compare/2.4.2...2.4.3
617-
[2.4.2]: https://github.com/dvdoug/BoxPacker/compare/2.4.1...2.4.2
618-
[2.4.1]: https://github.com/dvdoug/BoxPacker/compare/2.4.0...2.4.1
619-
[2.4.0]: https://github.com/dvdoug/BoxPacker/compare/2.3.2...2.4.0
620-
[2.3.2]: https://github.com/dvdoug/BoxPacker/compare/2.3.1...2.3.2
621-
[2.3.1]: https://github.com/dvdoug/BoxPacker/compare/2.3.0...2.3.1
622-
[2.3.0]: https://github.com/dvdoug/BoxPacker/compare/2.2.1...2.3.0
623-
[2.2.1]: https://github.com/dvdoug/BoxPacker/compare/2.2.0...2.2.1
624-
[2.2.0]: https://github.com/dvdoug/BoxPacker/compare/2.1.0...2.2.0
625-
[2.1.0]: https://github.com/dvdoug/BoxPacker/compare/2.0.2...2.1.0
626-
[2.0.2]: https://github.com/dvdoug/BoxPacker/compare/2.0.1...2.0.2
627-
[2.0.1]: https://github.com/dvdoug/BoxPacker/compare/2.0...2.0.1
628-
[2.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3...2.0
629-
[1.7.3]: https://github.com/dvdoug/BoxPacker/compare/1.7.2...1.7.3
630-
[1.7.2]: https://github.com/dvdoug/BoxPacker/compare/1.7.1...1.7.2
631-
[1.7.1]: https://github.com/dvdoug/BoxPacker/compare/1.7.0...1.7.1
632-
[1.7.0]: https://github.com/dvdoug/BoxPacker/compare/1.6.9...1.7.0
633-
[1.6.9]: https://github.com/dvdoug/BoxPacker/compare/1.6.8...1.6.9
634-
[1.6.8]: https://github.com/dvdoug/BoxPacker/compare/1.6.7...1.6.8
635-
[1.6.7]: https://github.com/dvdoug/BoxPacker/compare/1.6.6...1.6.7
636-
[1.6.6]: https://github.com/dvdoug/BoxPacker/compare/1.6.5...1.6.6
637-
[1.6.5]: https://github.com/dvdoug/BoxPacker/compare/1.6.4...1.6.5
638-
[1.6.4]: https://github.com/dvdoug/BoxPacker/compare/1.6.3...1.6.4
639-
[1.6.3]: https://github.com/dvdoug/BoxPacker/compare/1.6.2...1.6.3
640-
[1.6.2]: https://github.com/dvdoug/BoxPacker/compare/1.6.1...1.6.2
641-
[1.6.1]: https://github.com/dvdoug/BoxPacker/compare/1.6.0...1.6.1
642-
[1.6.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3...1.6.0
643-
[1.5.3]: https://github.com/dvdoug/BoxPacker/compare/1.5.2...1.5.3
644-
[1.5.2]: https://github.com/dvdoug/BoxPacker/compare/1.5.1...1.5.2
645-
[1.5.1]: https://github.com/dvdoug/BoxPacker/compare/1.5...1.5.1
646-
[1.5]: https://github.com/dvdoug/BoxPacker/compare/1.4.2...1.5
647-
[1.4.2]: https://github.com/dvdoug/BoxPacker/compare/1.4.1...1.4.2
648-
[1.4.1]: https://github.com/dvdoug/BoxPacker/compare/1.4...1.4.1
649-
[1.4]: https://github.com/dvdoug/BoxPacker/compare/1.3...1.4
650-
[1.3]: https://github.com/dvdoug/BoxPacker/compare/1.2...1.3
651-
[1.2]: https://github.com/dvdoug/BoxPacker/compare/1.1...1.2
652-
[1.1]: https://github.com/dvdoug/BoxPacker/compare/1.0.1...1.1
653-
[1.0.1]: https://github.com/dvdoug/BoxPacker/compare/1.0...1.0.1
654-
[1.0]: https://github.com/dvdoug/BoxPacker/compare/0.4...1.0
655-
[0.4]: https://github.com/dvdoug/BoxPacker/compare/0.3...0.4
656-
[0.3]: https://github.com/dvdoug/BoxPacker/compare/0.2...0.3
657-
[0.2]: https://github.com/dvdoug/BoxPacker/compare/0.1...0.2
577+
[4.x - Unreleased]: https://github.com/dvdoug/BoxPacker/compare/4.0.0..master
578+
579+
[4.0.0]: https://github.com/dvdoug/BoxPacker/compare/3.12.1..4.0.0
580+
[3.12.1]: https://github.com/dvdoug/BoxPacker/compare/3.12.0..3.12.1
581+
[3.12.0]: https://github.com/dvdoug/BoxPacker/compare/3.11.0..3.12.0
582+
[3.11.0]: https://github.com/dvdoug/BoxPacker/compare/3.10.0..3.11.0
583+
[3.10.0]: https://github.com/dvdoug/BoxPacker/compare/3.9.4..3.10.0
584+
[3.9.4]: https://github.com/dvdoug/BoxPacker/compare/3.9.3..3.9.4
585+
[3.9.3]: https://github.com/dvdoug/BoxPacker/compare/3.9.2..3.9.3
586+
[3.9.2]: https://github.com/dvdoug/BoxPacker/compare/3.9.1..3.9.2
587+
[3.9.1]: https://github.com/dvdoug/BoxPacker/compare/3.9.0..3.9.1
588+
[3.9.0]: https://github.com/dvdoug/BoxPacker/compare/3.8.0..3.9.0
589+
[3.8.0]: https://github.com/dvdoug/BoxPacker/compare/3.7.0..3.8.0
590+
[3.7.0]: https://github.com/dvdoug/BoxPacker/compare/3.6.2..3.7.0
591+
[3.6.2]: https://github.com/dvdoug/BoxPacker/compare/3.6.1..3.6.2
592+
[3.6.1]: https://github.com/dvdoug/BoxPacker/compare/3.6.0..3.6.1
593+
[3.6.0]: https://github.com/dvdoug/BoxPacker/compare/3.5.2..3.6.0
594+
[3.5.2]: https://github.com/dvdoug/BoxPacker/compare/3.5.1..3.5.2
595+
[3.5.1]: https://github.com/dvdoug/BoxPacker/compare/3.5.0..3.5.1
596+
[3.5.0]: https://github.com/dvdoug/BoxPacker/compare/3.4.1..3.5.0
597+
[3.4.1]: https://github.com/dvdoug/BoxPacker/compare/3.4.0..3.4.1
598+
[3.4.0]: https://github.com/dvdoug/BoxPacker/compare/3.3.0..3.4.0
599+
[3.3.0]: https://github.com/dvdoug/BoxPacker/compare/3.2.2..3.3.0
600+
[3.2.2]: https://github.com/dvdoug/BoxPacker/compare/3.2.1..3.2.2
601+
[3.2.1]: https://github.com/dvdoug/BoxPacker/compare/3.2.0..3.2.1
602+
[3.2.0]: https://github.com/dvdoug/BoxPacker/compare/3.1.3..3.2.0
603+
[3.1.3]: https://github.com/dvdoug/BoxPacker/compare/3.1.2..3.1.3
604+
[3.1.2]: https://github.com/dvdoug/BoxPacker/compare/3.1.1..3.1.2
605+
[3.1.1]: https://github.com/dvdoug/BoxPacker/compare/3.1.0..3.1.1
606+
[3.1.0]: https://github.com/dvdoug/BoxPacker/compare/3.0.1..3.1.0
607+
[3.0.1]: https://github.com/dvdoug/BoxPacker/compare/3.0.0..3.0.1
608+
[3.0.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.2..3.0.0
609+
[2.7.2]: https://github.com/dvdoug/BoxPacker/compare/2.7.1..2.7.2
610+
[2.7.1]: https://github.com/dvdoug/BoxPacker/compare/2.7.0..2.7.1
611+
[2.7.0]: https://github.com/dvdoug/BoxPacker/compare/2.6.5..2.7.0
612+
[2.6.5]: https://github.com/dvdoug/BoxPacker/compare/2.6.4..2.6.5
613+
[2.6.4]: https://github.com/dvdoug/BoxPacker/compare/2.6.3..2.6.4
614+
[2.6.3]: https://github.com/dvdoug/BoxPacker/compare/2.6.2..2.6.3
615+
[2.6.2]: https://github.com/dvdoug/BoxPacker/compare/2.6.1..2.6.2
616+
[2.6.1]: https://github.com/dvdoug/BoxPacker/compare/2.6.0..2.6.1
617+
[2.6.0]: https://github.com/dvdoug/BoxPacker/compare/2.5.0..2.6.0
618+
[2.5.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.8..2.5.0
619+
[2.4.8]: https://github.com/dvdoug/BoxPacker/compare/2.4.7..2.4.8
620+
[2.4.7]: https://github.com/dvdoug/BoxPacker/compare/2.4.6..2.4.7
621+
[2.4.6]: https://github.com/dvdoug/BoxPacker/compare/2.4.5..2.4.6
622+
[2.4.5]: https://github.com/dvdoug/BoxPacker/compare/2.4.4..2.4.5
623+
[2.4.4]: https://github.com/dvdoug/BoxPacker/compare/2.4.3..2.4.4
624+
[2.4.3]: https://github.com/dvdoug/BoxPacker/compare/2.4.2..2.4.3
625+
[2.4.2]: https://github.com/dvdoug/BoxPacker/compare/2.4.1..2.4.2
626+
[2.4.1]: https://github.com/dvdoug/BoxPacker/compare/2.4.0..2.4.1
627+
[2.4.0]: https://github.com/dvdoug/BoxPacker/compare/2.3.2..2.4.0
628+
[2.3.2]: https://github.com/dvdoug/BoxPacker/compare/2.3.1..2.3.2
629+
[2.3.1]: https://github.com/dvdoug/BoxPacker/compare/2.3.0..2.3.1
630+
[2.3.0]: https://github.com/dvdoug/BoxPacker/compare/2.2.1..2.3.0
631+
[2.2.1]: https://github.com/dvdoug/BoxPacker/compare/2.2.0..2.2.1
632+
[2.2.0]: https://github.com/dvdoug/BoxPacker/compare/2.1.0..2.2.0
633+
[2.1.0]: https://github.com/dvdoug/BoxPacker/compare/2.0.2..2.1.0
634+
[2.0.2]: https://github.com/dvdoug/BoxPacker/compare/2.0.1..2.0.2
635+
[2.0.1]: https://github.com/dvdoug/BoxPacker/compare/2.0..2.0.1
636+
[2.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3..2.0
637+
[1.7.3]: https://github.com/dvdoug/BoxPacker/compare/1.7.2..1.7.3
638+
[1.7.2]: https://github.com/dvdoug/BoxPacker/compare/1.7.1..1.7.2
639+
[1.7.1]: https://github.com/dvdoug/BoxPacker/compare/1.7.0..1.7.1
640+
[1.7.0]: https://github.com/dvdoug/BoxPacker/compare/1.6.9..1.7.0
641+
[1.6.9]: https://github.com/dvdoug/BoxPacker/compare/1.6.8..1.6.9
642+
[1.6.8]: https://github.com/dvdoug/BoxPacker/compare/1.6.7..1.6.8
643+
[1.6.7]: https://github.com/dvdoug/BoxPacker/compare/1.6.6..1.6.7
644+
[1.6.6]: https://github.com/dvdoug/BoxPacker/compare/1.6.5..1.6.6
645+
[1.6.5]: https://github.com/dvdoug/BoxPacker/compare/1.6.4..1.6.5
646+
[1.6.4]: https://github.com/dvdoug/BoxPacker/compare/1.6.3..1.6.4
647+
[1.6.3]: https://github.com/dvdoug/BoxPacker/compare/1.6.2..1.6.3
648+
[1.6.2]: https://github.com/dvdoug/BoxPacker/compare/1.6.1..1.6.2
649+
[1.6.1]: https://github.com/dvdoug/BoxPacker/compare/1.6.0..1.6.1
650+
[1.6.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3..1.6.0
651+
[1.5.3]: https://github.com/dvdoug/BoxPacker/compare/1.5.2..1.5.3
652+
[1.5.2]: https://github.com/dvdoug/BoxPacker/compare/1.5.1..1.5.2
653+
[1.5.1]: https://github.com/dvdoug/BoxPacker/compare/1.5..1.5.1
654+
[1.5]: https://github.com/dvdoug/BoxPacker/compare/1.4.2..1.5
655+
[1.4.2]: https://github.com/dvdoug/BoxPacker/compare/1.4.1..1.4.2
656+
[1.4.1]: https://github.com/dvdoug/BoxPacker/compare/1.4..1.4.1
657+
[1.4]: https://github.com/dvdoug/BoxPacker/compare/1.3..1.4
658+
[1.3]: https://github.com/dvdoug/BoxPacker/compare/1.2..1.3
659+
[1.2]: https://github.com/dvdoug/BoxPacker/compare/1.1..1.2
660+
[1.1]: https://github.com/dvdoug/BoxPacker/compare/1.0.1..1.1
661+
[1.0.1]: https://github.com/dvdoug/BoxPacker/compare/1.0..1.0.1
662+
[1.0]: https://github.com/dvdoug/BoxPacker/compare/0.4..1.0
663+
[0.4]: https://github.com/dvdoug/BoxPacker/compare/0.3..0.4
664+
[0.3]: https://github.com/dvdoug/BoxPacker/compare/0.2..0.3
665+
[0.2]: https://github.com/dvdoug/BoxPacker/compare/0.1..0.2

docs/index.rst

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ License
1111
-------
1212
BoxPacker is licensed under the `MIT license`_.
1313

14-
.. warning::
15-
16-
You are reading the documentation for BoxPacker v4 which is not yet released.
17-
1814
.. _MIT license: https://github.com/dvdoug/BoxPacker/blob/master/license.txt
1915

2016

0 commit comments

Comments
 (0)