We’ve been trying to upgrade PHP SDK and already found two breaking changes. It’s obvious to us that Couchbase PHP SDK isn’t using semantic versioning at this point.
I mean…that is just minor issue. The bigger problem is that things get changed without notice in a minor version update. That’s why I’m mentioning semantic versioning.
A public API gets removed without notice and no one noticed up until now…that means there is no test coverage. I’m not in position to say which should be tested, but this is 3rd time I’m having bugs (all public APIs) in SDK and I still don’t see them in the tests (github). My apologies if it sounds harsh.
the version has been changed for that release. The missing API is not a bug. The N1QL always returns an object, and you only control the shape of rows with the flag (arrays or objects). Which bugs are you referring to, could you show links to bug tracker?
These are the bugs I have experienced so far. Please note that these are from pretty old version of SDK.
Parameters were not accepted in n1ql. The code was using “+” instead of “.” to concatenate variables in PHP. It has been fixed. I think I submitted PR for this one as well. Or at least I was the first one to report it.
getName(). I think I submitted PR for this one and it was merged then removed then it sounds like it’s going to be added again now.
All three of them do not have tests.
May be I should not care about these since we rarely upgrade SDK versions anyway, but I really really think there should be some kind of plan to prevent unnoticed changes for the future releases. I’m not the one who had issues with breaking changes.
All three of them have been fixed. I was just saying that there are no tests for them (they have in the current version, but not in the version with the fix).
Anyway, my goal was not to report bugs or complain about them.
My goal was to get an idea if there is a plan to make versioning better. It sounds like there is not a plan. I will try to be more careful next time I upgrade PHP SDK.