Skip to content
This repository has been archived by the owner on Mar 2, 2022. It is now read-only.

Remove Deprecated Flux and Mono #30

Closed
sinwe opened this issue Jul 9, 2019 · 9 comments
Closed

Remove Deprecated Flux and Mono #30

sinwe opened this issue Jul 9, 2019 · 9 comments
Assignees

Comments

@sinwe
Copy link
Contributor

sinwe commented Jul 9, 2019

Flux and Mono has been replaced by SFlux and SMono respectively.

@sinwe sinwe self-assigned this Jul 9, 2019
sinwe added a commit that referenced this issue Jul 10, 2019
@sinwe sinwe closed this as completed Jul 10, 2019
@programmatix
Copy link

Hi @sinwe. I'm using your package in the public API of the Scala SDK I'm currently developing for Couchbase, a NoSQL database. I bumped my dependency up from 0.3.x to 0.4.6 today and found this API breaking issue. I appreciate that you're not yet at 1.x and so breaking changes like this aren't unexpected, but can I ask if you have any further breaking changes you currently anticipate? It will help me time the release of the beta version of the SDK, after which ideally the API is nailed down.

@sinwe
Copy link
Contributor Author

sinwe commented Oct 11, 2019

Hi @programmatix, I just recently realize that Couchbase is using this library and I realized that you used version 0.3.5 which is quite old. I have been trying to get in touch with anyone from Couchbase, but so far can't get one. So I'm happy that you reach out.

With regards to your question, I do not anticipate of breaking change and I do not have any in plan. That breaking change was as a result of confusion people have about the Java Mono/Flux and Scala one (even myself), hence I spent a few months to change it.

However, I believe there is an early version of 0.4.x (probably up to 0.4.1) that still have Flux and Mono although I marked them as deprecated. So if you want to have transition period, you could use version 0.4.1 while separately going to 0.4.6 for future release. However since Couchbase scala SDK is still in alpha stage, it would be prudent to go directly to 0.4.6. But it's up to you.

On another note, I tried to fork your repo to help transitioning, but without knowing the build tool you use, I couldn't even compile it.

@programmatix
Copy link

@sinwe, indeed I sometimes find myself confused too between Java and Scala Mono, and often rename them in the library internals (e.g. import ... {Mono => ScalaMono}). So, I think this is a good change. Good to hear there's no further changes expected as well.

We are indeed currently in alpha and I'm hoping to go to beta in the next few weeks, so this is the best opportunity to be making any necessary breaking changes. I will go directly to 0.4.6 and change to SMono/SFlux.

The repo is under https://github.com/couchbase/couchbase-jvm-clients and the README contains the instructions on how to get going. We use Maven for building, plus Make (yes Make for a Java project, but there's a valid reason :) ). All contributions are gratefully received of course, but if it's just renaming Mono=>SMono, it won't take me long.

@sinwe
Copy link
Contributor Author

sinwe commented Oct 11, 2019

@programmatix The change is not only renaming Mono => SMono. There are some method overloading that I merge into single method by leveraging Scala's default method parameter. Please do feedback if there are missing methods that existed in 0.3.x.

@programmatix
Copy link

@sinwe thanks for following up. I've just finished the port and the only method I seem to be missing is Flux.merge - I only have SFlux.mergeSequential, which isn't quite the same semantics.

@sinwe
Copy link
Contributor Author

sinwe commented Oct 12, 2019

@programmatix What's the parameter you pass in? Do you need Flux.merge(Publisher[Publisher[T]]? If yes, it is renamed to SFlux.mergeSequentialPublisher

Update: Yes you're right, I missed it. I'll add it soon (#38)

@programmatix
Copy link

Thanks @sinwe !

@sinwe
Copy link
Contributor Author

sinwe commented Oct 14, 2019

@programmatix can you try version 0.4.7-SNAPSHOT?

@sinwe
Copy link
Contributor Author

sinwe commented Oct 18, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

2 participants