Skip to content

Commit

Permalink
Prep release
Browse files Browse the repository at this point in the history
  • Loading branch information
dvdoug committed Dec 4, 2023
1 parent 0a49fe6 commit 90674a3
Show file tree
Hide file tree
Showing 4 changed files with 267 additions and 263 deletions.
192 changes: 100 additions & 92 deletions CHANGELOG.md
@@ -1,6 +1,8 @@
# Changelog

## [4.x - Unreleased] - 2024-xx-xx

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

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

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

[4.x - Unreleased]: https://github.com/dvdoug/BoxPacker/compare/3.x...master

[3.12.1]: https://github.com/dvdoug/BoxPacker/compare/3.12.0...3.12.1
[3.12.0]: https://github.com/dvdoug/BoxPacker/compare/3.11.0...3.12.0
[3.11.0]: https://github.com/dvdoug/BoxPacker/compare/3.10.0...3.11.0
[3.10.0]: https://github.com/dvdoug/BoxPacker/compare/3.9.4...3.10.0
[3.9.4]: https://github.com/dvdoug/BoxPacker/compare/3.9.3...3.9.4
[3.9.3]: https://github.com/dvdoug/BoxPacker/compare/3.9.2...3.9.3
[3.9.2]: https://github.com/dvdoug/BoxPacker/compare/3.9.1...3.9.2
[3.9.1]: https://github.com/dvdoug/BoxPacker/compare/3.9.0...3.9.1
[3.9.0]: https://github.com/dvdoug/BoxPacker/compare/3.8.0...3.9.0
[3.8.0]: https://github.com/dvdoug/BoxPacker/compare/3.7.0...3.8.0
[3.7.0]: https://github.com/dvdoug/BoxPacker/compare/3.6.2...3.7.0
[3.6.2]: https://github.com/dvdoug/BoxPacker/compare/3.6.1...3.6.2
[3.6.1]: https://github.com/dvdoug/BoxPacker/compare/3.6.0...3.6.1
[3.6.0]: https://github.com/dvdoug/BoxPacker/compare/3.5.2...3.6.0
[3.5.2]: https://github.com/dvdoug/BoxPacker/compare/3.5.1...3.5.2
[3.5.1]: https://github.com/dvdoug/BoxPacker/compare/3.5.0...3.5.1
[3.5.0]: https://github.com/dvdoug/BoxPacker/compare/3.4.1...3.5.0
[3.4.1]: https://github.com/dvdoug/BoxPacker/compare/3.4.0...3.4.1
[3.4.0]: https://github.com/dvdoug/BoxPacker/compare/3.3.0...3.4.0
[3.3.0]: https://github.com/dvdoug/BoxPacker/compare/3.2.2...3.3.0
[3.2.2]: https://github.com/dvdoug/BoxPacker/compare/3.2.1...3.2.2
[3.2.1]: https://github.com/dvdoug/BoxPacker/compare/3.2.0...3.2.1
[3.2.0]: https://github.com/dvdoug/BoxPacker/compare/3.1.3...3.2.0
[3.1.3]: https://github.com/dvdoug/BoxPacker/compare/3.1.2...3.1.3
[3.1.2]: https://github.com/dvdoug/BoxPacker/compare/3.1.1...3.1.2
[3.1.1]: https://github.com/dvdoug/BoxPacker/compare/3.1.0...3.1.1
[3.1.0]: https://github.com/dvdoug/BoxPacker/compare/3.0.1...3.1.0
[3.0.1]: https://github.com/dvdoug/BoxPacker/compare/3.0.0...3.0.1
[3.0.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.2...3.0.0
[2.7.2]: https://github.com/dvdoug/BoxPacker/compare/2.7.1...2.7.2
[2.7.1]: https://github.com/dvdoug/BoxPacker/compare/2.7.0...2.7.1
[2.7.0]: https://github.com/dvdoug/BoxPacker/compare/2.6.5...2.7.0
[2.6.5]: https://github.com/dvdoug/BoxPacker/compare/2.6.4...2.6.5
[2.6.4]: https://github.com/dvdoug/BoxPacker/compare/2.6.3...2.6.4
[2.6.3]: https://github.com/dvdoug/BoxPacker/compare/2.6.2...2.6.3
[2.6.2]: https://github.com/dvdoug/BoxPacker/compare/2.6.1...2.6.2
[2.6.1]: https://github.com/dvdoug/BoxPacker/compare/2.6.0...2.6.1
[2.6.0]: https://github.com/dvdoug/BoxPacker/compare/2.5.0...2.6.0
[2.5.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.8...2.5.0
[2.4.8]: https://github.com/dvdoug/BoxPacker/compare/2.4.7...2.4.8
[2.4.7]: https://github.com/dvdoug/BoxPacker/compare/2.4.6...2.4.7
[2.4.6]: https://github.com/dvdoug/BoxPacker/compare/2.4.5...2.4.6
[2.4.5]: https://github.com/dvdoug/BoxPacker/compare/2.4.4...2.4.5
[2.4.4]: https://github.com/dvdoug/BoxPacker/compare/2.4.3...2.4.4
[2.4.3]: https://github.com/dvdoug/BoxPacker/compare/2.4.2...2.4.3
[2.4.2]: https://github.com/dvdoug/BoxPacker/compare/2.4.1...2.4.2
[2.4.1]: https://github.com/dvdoug/BoxPacker/compare/2.4.0...2.4.1
[2.4.0]: https://github.com/dvdoug/BoxPacker/compare/2.3.2...2.4.0
[2.3.2]: https://github.com/dvdoug/BoxPacker/compare/2.3.1...2.3.2
[2.3.1]: https://github.com/dvdoug/BoxPacker/compare/2.3.0...2.3.1
[2.3.0]: https://github.com/dvdoug/BoxPacker/compare/2.2.1...2.3.0
[2.2.1]: https://github.com/dvdoug/BoxPacker/compare/2.2.0...2.2.1
[2.2.0]: https://github.com/dvdoug/BoxPacker/compare/2.1.0...2.2.0
[2.1.0]: https://github.com/dvdoug/BoxPacker/compare/2.0.2...2.1.0
[2.0.2]: https://github.com/dvdoug/BoxPacker/compare/2.0.1...2.0.2
[2.0.1]: https://github.com/dvdoug/BoxPacker/compare/2.0...2.0.1
[2.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3...2.0
[1.7.3]: https://github.com/dvdoug/BoxPacker/compare/1.7.2...1.7.3
[1.7.2]: https://github.com/dvdoug/BoxPacker/compare/1.7.1...1.7.2
[1.7.1]: https://github.com/dvdoug/BoxPacker/compare/1.7.0...1.7.1
[1.7.0]: https://github.com/dvdoug/BoxPacker/compare/1.6.9...1.7.0
[1.6.9]: https://github.com/dvdoug/BoxPacker/compare/1.6.8...1.6.9
[1.6.8]: https://github.com/dvdoug/BoxPacker/compare/1.6.7...1.6.8
[1.6.7]: https://github.com/dvdoug/BoxPacker/compare/1.6.6...1.6.7
[1.6.6]: https://github.com/dvdoug/BoxPacker/compare/1.6.5...1.6.6
[1.6.5]: https://github.com/dvdoug/BoxPacker/compare/1.6.4...1.6.5
[1.6.4]: https://github.com/dvdoug/BoxPacker/compare/1.6.3...1.6.4
[1.6.3]: https://github.com/dvdoug/BoxPacker/compare/1.6.2...1.6.3
[1.6.2]: https://github.com/dvdoug/BoxPacker/compare/1.6.1...1.6.2
[1.6.1]: https://github.com/dvdoug/BoxPacker/compare/1.6.0...1.6.1
[1.6.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3...1.6.0
[1.5.3]: https://github.com/dvdoug/BoxPacker/compare/1.5.2...1.5.3
[1.5.2]: https://github.com/dvdoug/BoxPacker/compare/1.5.1...1.5.2
[1.5.1]: https://github.com/dvdoug/BoxPacker/compare/1.5...1.5.1
[1.5]: https://github.com/dvdoug/BoxPacker/compare/1.4.2...1.5
[1.4.2]: https://github.com/dvdoug/BoxPacker/compare/1.4.1...1.4.2
[1.4.1]: https://github.com/dvdoug/BoxPacker/compare/1.4...1.4.1
[1.4]: https://github.com/dvdoug/BoxPacker/compare/1.3...1.4
[1.3]: https://github.com/dvdoug/BoxPacker/compare/1.2...1.3
[1.2]: https://github.com/dvdoug/BoxPacker/compare/1.1...1.2
[1.1]: https://github.com/dvdoug/BoxPacker/compare/1.0.1...1.1
[1.0.1]: https://github.com/dvdoug/BoxPacker/compare/1.0...1.0.1
[1.0]: https://github.com/dvdoug/BoxPacker/compare/0.4...1.0
[0.4]: https://github.com/dvdoug/BoxPacker/compare/0.3...0.4
[0.3]: https://github.com/dvdoug/BoxPacker/compare/0.2...0.3
[0.2]: https://github.com/dvdoug/BoxPacker/compare/0.1...0.2
[4.x - Unreleased]: https://github.com/dvdoug/BoxPacker/compare/4.0.0..master

[4.0.0]: https://github.com/dvdoug/BoxPacker/compare/3.12.1..4.0.0
[3.12.1]: https://github.com/dvdoug/BoxPacker/compare/3.12.0..3.12.1
[3.12.0]: https://github.com/dvdoug/BoxPacker/compare/3.11.0..3.12.0
[3.11.0]: https://github.com/dvdoug/BoxPacker/compare/3.10.0..3.11.0
[3.10.0]: https://github.com/dvdoug/BoxPacker/compare/3.9.4..3.10.0
[3.9.4]: https://github.com/dvdoug/BoxPacker/compare/3.9.3..3.9.4
[3.9.3]: https://github.com/dvdoug/BoxPacker/compare/3.9.2..3.9.3
[3.9.2]: https://github.com/dvdoug/BoxPacker/compare/3.9.1..3.9.2
[3.9.1]: https://github.com/dvdoug/BoxPacker/compare/3.9.0..3.9.1
[3.9.0]: https://github.com/dvdoug/BoxPacker/compare/3.8.0..3.9.0
[3.8.0]: https://github.com/dvdoug/BoxPacker/compare/3.7.0..3.8.0
[3.7.0]: https://github.com/dvdoug/BoxPacker/compare/3.6.2..3.7.0
[3.6.2]: https://github.com/dvdoug/BoxPacker/compare/3.6.1..3.6.2
[3.6.1]: https://github.com/dvdoug/BoxPacker/compare/3.6.0..3.6.1
[3.6.0]: https://github.com/dvdoug/BoxPacker/compare/3.5.2..3.6.0
[3.5.2]: https://github.com/dvdoug/BoxPacker/compare/3.5.1..3.5.2
[3.5.1]: https://github.com/dvdoug/BoxPacker/compare/3.5.0..3.5.1
[3.5.0]: https://github.com/dvdoug/BoxPacker/compare/3.4.1..3.5.0
[3.4.1]: https://github.com/dvdoug/BoxPacker/compare/3.4.0..3.4.1
[3.4.0]: https://github.com/dvdoug/BoxPacker/compare/3.3.0..3.4.0
[3.3.0]: https://github.com/dvdoug/BoxPacker/compare/3.2.2..3.3.0
[3.2.2]: https://github.com/dvdoug/BoxPacker/compare/3.2.1..3.2.2
[3.2.1]: https://github.com/dvdoug/BoxPacker/compare/3.2.0..3.2.1
[3.2.0]: https://github.com/dvdoug/BoxPacker/compare/3.1.3..3.2.0
[3.1.3]: https://github.com/dvdoug/BoxPacker/compare/3.1.2..3.1.3
[3.1.2]: https://github.com/dvdoug/BoxPacker/compare/3.1.1..3.1.2
[3.1.1]: https://github.com/dvdoug/BoxPacker/compare/3.1.0..3.1.1
[3.1.0]: https://github.com/dvdoug/BoxPacker/compare/3.0.1..3.1.0
[3.0.1]: https://github.com/dvdoug/BoxPacker/compare/3.0.0..3.0.1
[3.0.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.2..3.0.0
[2.7.2]: https://github.com/dvdoug/BoxPacker/compare/2.7.1..2.7.2
[2.7.1]: https://github.com/dvdoug/BoxPacker/compare/2.7.0..2.7.1
[2.7.0]: https://github.com/dvdoug/BoxPacker/compare/2.6.5..2.7.0
[2.6.5]: https://github.com/dvdoug/BoxPacker/compare/2.6.4..2.6.5
[2.6.4]: https://github.com/dvdoug/BoxPacker/compare/2.6.3..2.6.4
[2.6.3]: https://github.com/dvdoug/BoxPacker/compare/2.6.2..2.6.3
[2.6.2]: https://github.com/dvdoug/BoxPacker/compare/2.6.1..2.6.2
[2.6.1]: https://github.com/dvdoug/BoxPacker/compare/2.6.0..2.6.1
[2.6.0]: https://github.com/dvdoug/BoxPacker/compare/2.5.0..2.6.0
[2.5.0]: https://github.com/dvdoug/BoxPacker/compare/2.4.8..2.5.0
[2.4.8]: https://github.com/dvdoug/BoxPacker/compare/2.4.7..2.4.8
[2.4.7]: https://github.com/dvdoug/BoxPacker/compare/2.4.6..2.4.7
[2.4.6]: https://github.com/dvdoug/BoxPacker/compare/2.4.5..2.4.6
[2.4.5]: https://github.com/dvdoug/BoxPacker/compare/2.4.4..2.4.5
[2.4.4]: https://github.com/dvdoug/BoxPacker/compare/2.4.3..2.4.4
[2.4.3]: https://github.com/dvdoug/BoxPacker/compare/2.4.2..2.4.3
[2.4.2]: https://github.com/dvdoug/BoxPacker/compare/2.4.1..2.4.2
[2.4.1]: https://github.com/dvdoug/BoxPacker/compare/2.4.0..2.4.1
[2.4.0]: https://github.com/dvdoug/BoxPacker/compare/2.3.2..2.4.0
[2.3.2]: https://github.com/dvdoug/BoxPacker/compare/2.3.1..2.3.2
[2.3.1]: https://github.com/dvdoug/BoxPacker/compare/2.3.0..2.3.1
[2.3.0]: https://github.com/dvdoug/BoxPacker/compare/2.2.1..2.3.0
[2.2.1]: https://github.com/dvdoug/BoxPacker/compare/2.2.0..2.2.1
[2.2.0]: https://github.com/dvdoug/BoxPacker/compare/2.1.0..2.2.0
[2.1.0]: https://github.com/dvdoug/BoxPacker/compare/2.0.2..2.1.0
[2.0.2]: https://github.com/dvdoug/BoxPacker/compare/2.0.1..2.0.2
[2.0.1]: https://github.com/dvdoug/BoxPacker/compare/2.0..2.0.1
[2.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3..2.0
[1.7.3]: https://github.com/dvdoug/BoxPacker/compare/1.7.2..1.7.3
[1.7.2]: https://github.com/dvdoug/BoxPacker/compare/1.7.1..1.7.2
[1.7.1]: https://github.com/dvdoug/BoxPacker/compare/1.7.0..1.7.1
[1.7.0]: https://github.com/dvdoug/BoxPacker/compare/1.6.9..1.7.0
[1.6.9]: https://github.com/dvdoug/BoxPacker/compare/1.6.8..1.6.9
[1.6.8]: https://github.com/dvdoug/BoxPacker/compare/1.6.7..1.6.8
[1.6.7]: https://github.com/dvdoug/BoxPacker/compare/1.6.6..1.6.7
[1.6.6]: https://github.com/dvdoug/BoxPacker/compare/1.6.5..1.6.6
[1.6.5]: https://github.com/dvdoug/BoxPacker/compare/1.6.4..1.6.5
[1.6.4]: https://github.com/dvdoug/BoxPacker/compare/1.6.3..1.6.4
[1.6.3]: https://github.com/dvdoug/BoxPacker/compare/1.6.2..1.6.3
[1.6.2]: https://github.com/dvdoug/BoxPacker/compare/1.6.1..1.6.2
[1.6.1]: https://github.com/dvdoug/BoxPacker/compare/1.6.0..1.6.1
[1.6.0]: https://github.com/dvdoug/BoxPacker/compare/1.5.3..1.6.0
[1.5.3]: https://github.com/dvdoug/BoxPacker/compare/1.5.2..1.5.3
[1.5.2]: https://github.com/dvdoug/BoxPacker/compare/1.5.1..1.5.2
[1.5.1]: https://github.com/dvdoug/BoxPacker/compare/1.5..1.5.1
[1.5]: https://github.com/dvdoug/BoxPacker/compare/1.4.2..1.5
[1.4.2]: https://github.com/dvdoug/BoxPacker/compare/1.4.1..1.4.2
[1.4.1]: https://github.com/dvdoug/BoxPacker/compare/1.4..1.4.1
[1.4]: https://github.com/dvdoug/BoxPacker/compare/1.3..1.4
[1.3]: https://github.com/dvdoug/BoxPacker/compare/1.2..1.3
[1.2]: https://github.com/dvdoug/BoxPacker/compare/1.1..1.2
[1.1]: https://github.com/dvdoug/BoxPacker/compare/1.0.1..1.1
[1.0.1]: https://github.com/dvdoug/BoxPacker/compare/1.0..1.0.1
[1.0]: https://github.com/dvdoug/BoxPacker/compare/0.4..1.0
[0.4]: https://github.com/dvdoug/BoxPacker/compare/0.3..0.4
[0.3]: https://github.com/dvdoug/BoxPacker/compare/0.2..0.3
[0.2]: https://github.com/dvdoug/BoxPacker/compare/0.1..0.2
4 changes: 0 additions & 4 deletions docs/index.rst
Expand Up @@ -11,10 +11,6 @@ License
-------
BoxPacker is licensed under the `MIT license`_.

.. warning::

You are reading the documentation for BoxPacker v4 which is not yet released.

.. _MIT license: https://github.com/dvdoug/BoxPacker/blob/master/license.txt


Expand Down

0 comments on commit 90674a3

Please sign in to comment.