Finite
Finite copied to clipboard
v1.1.0 is not backwards compatible with v1.0.3
There have been at least 4 method signature changes in new version 1.1.0 that break code that was valid for v1.0.3 - which should only happen in a major version change...
Personally I had problems with:
StateMachineInterface::apply()
PropertiesAwareInterface::get()
TransitionInterface::process()
CaseStateMachineLoader::supports()
All those methods have changed their signatures so that a fatal PHP error "Declaration of ... must be compatible with..." will be thrown...
This has been discussed in a few PRs, and @yohang considers these breaks acceptable. I've also experienced this and for now I pinned my usage on 1.0.* instead of ~1.0 or ^1.0.
So maybe these breaking changes can be mentioned in the README
or in a CHANGELOG.md
file?
You can update anyway and make some little changes in your code to adapt to the new method signatures, it's not a big issue... however, those kind of breaks should only happen in a major release - i.e. v.2.0.0
Yeah, they're little changes, I just haven't had the time to get to it. A few notes about what to do would be nice though.
I'll list them in a CHANGELOG
.