LiipImagineBundle: Breaking Changes / Road-map v2
Road-map 2.0
Note: this will serve as an alternate, more ambitious (by which I mean, no regard for BC breaks whatsoever with an eye toward the future and disregard for the past), alternative to #686.
- Code cleanup (consider ways to remove duplication and otherwise refactor code for the better)
- Symfony 2.8+ (with no usage of deprecated features, full 3.0+ compatibility)
- PHP 5.6+ (or maybe 7.0+)
- LoaderInterface Rename (rename LoaderInterfaces under
Liip\ImagineBundle\Imagine\Filter\LoaderandLiip\ImagineBundle\Binary\Loaderto remove confusion) - FilterLoader Rename (“Loader” is confusing in this context, perhaps “FilterProcessor” or “FilterRunner” or similar?)
- Binary/FileBinary Standardization (Remove ability to return or provide as argument both models in a bunch of code, standardize on one wherever possible.)
- Move Controller Business Logic into Service (Allow for use of service without Request)
- Merge ConfigurablePostProcessorInterface and PostProcessorInterface
- See about supporting usage cases like #733
- Conversion between formats (ex: PNG -> JPG)
More to be decided… (post additions in the comments; ideas welcome!)
Contributed Additions
@antoligy
- Currently Symfony’s minimum version requirement is 5.5.9
- Imagine supports 5.3; Perhaps such an upgrade should be a collaboration effort?
- We gain [many PHP7 benefits due to] potential new IMagick transforms and features.
- Not the same for GMagick sadly.
- Plenty of bugfixes to GD.
Original Message
@lsmith77 Any interest in creating a 2.x branch where we can start shaping this bundle’s next major release? It’s time to drop PHP versions that are no longer supported, as well as Symfony versions that have reached EOL. There are some structural changes that could benefit the code base as well.
I’d love to help!
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 27 (6 by maintainers)
no … haven’t made a decision. my gut feeling says its clearer for contributors to know where to point their PRs to if we drop master and just keep 1.0 (as the default branch) and 2.0 …
so I propose to drop master … ok?
So, this isn’t necessarily a stance on the minimum version decided on for this bundle, but is more a general-purpose argument for PHP 7.x. And many older PHP coders will likely dislike it, but…
Scalar type hints, return type declarations, and strict mode. Many may see scalar type hints and return types as syntactic sugar, but such a feature is much more important that simply providing context for contributors. It allows those that use this library to optionally enable strict mode, as well as allows us to enable strict mode in our test suite, a feature which often aids in catching bugs and other abnormalities in a large code base. This alone is reason enough for me to use PHP 7 in all my upcoming consultation projects.
Again, the value of this as it pertains to this bundle is debatable, but I feel like this often gets overlooked or otherwise not weighted with a high level of value. To me, this feature is invaluable.
If we don’t set PHP 7.0 as the minimum, I would strongly argue for PHP 5.6, as this is the only PHP 5.x series release that hasn’t reached EOL, and as a community we should do everything we can to force people to move onto supported PHP versions. Also, variadic functions are wonderful, as is argument unpacking.
@antoligy (think you meant to say “…despite Symfony still supporting 5.5…”)
If someone wants to start outlining v2, I’ve opened up the WIKI in my sandbox repo for all to edit: https://github.com/src-run/liip-imagine-bundle-sandbox/wiki
Should we amend contributor guides to talk about the distinction between the two branches?
Any chance of getting a 2.x branch that a larger number of people can directly contribute to? Or should we just keep work on our respective personal forks?