Where can I find release (change) note for PHP SDK?


#1

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’ve looked at https://developer.couchbase.com/server/other-products/release-notes-archives/php-sdk, but I could not find two BCs we found.

If the release note does not mention breaking changes, where can I see them?

So far, we’ve noticed the following.

  1. A public API “getName()” has been removed from CouchbaseBucket object.
  2. N1QL query returns an object with rows and metric keys instead of an array.

Update: #2 is actually on the release note.

I would like to see the change list first before upgrading further.

Is Couchbase interested in using semantic versioning for the future releases?


#2

You can find release notes at this page: https://developer.couchbase.com/server/other-products/release-notes-archives/php-sdk


#3

Well, that’s the link I posted. That one still does not mention #1 BC I posted.

Is there any plan to use semantic versioning? I’m rather surprised that those two BCs were not mentioned before being released.

I think I’m the one who actually posted #2 BC in this forum. The release note was updated after that.

If there are BCs, then there should be AT LEAST an upgrade guide. I know another team who had errors due to breaking changes in the SDK.


#4

That means getName() was unintentionally lost, and nobody found it yet. I will add this in future release.


#5

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.


#6

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?


#7

These are the bugs I have experienced so far. Please note that these are from pretty old version of SDK.

  1. 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.

  2. I was wrong. Query always returns an object, but the format has been changed. This was BC. Please take a look at a note for Version 2.2.0 (6 July 2016) on https://developer.couchbase.com/server/other-products/release-notes-archives/php-sdk. Again, this is very old version of SDK, so not that many people care about it.

  3. 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.


#8

Could you open jira tickets for them? We don’t use PRs, and you have been notified about this:

Please report bugs to bug tracker, and code changes to review system, github is just a mirror of our repository.


#9

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.


#10

Will you submit your changes about getName() for review?