watson-developer-cloud / botkit-middleware

A middleware to connect Watson Conversation Service to different chat channels using Botkit
https://www.npmjs.com/package/botkit-middleware-watson
Apache License 2.0
207 stars 255 forks source link

Watson Conversation V1 is deprecated, needs updating to V2 #151

Closed NyWn closed 5 years ago

NyWn commented 5 years ago

Error occuring when creating a new Watson Assistant instance as an old API version is being used:

ERR WARNING: Conversation V1 is deprecated and will be removed in the next major release of the SDK. Use Assistant V1 or Assistant V2. Set {silent: true} to disable this message.

Looks like its because of:

https://github.com/watson-developer-cloud/botkit-middleware/blob/231815c76d3092dd829ad346e87a474486838aed/lib/middleware/index.js#L19

Here's the docs for the latest version:

https://www.npmjs.com/package/watson-developer-cloud#assistant-v2

igoruehara commented 5 years ago

Facebook Messenger too?

pgoldweic commented 5 years ago

Could somebody please explain how this is supposed to affect bots in production? I have one using version 1.4.0 of the middleware. Thanks!

yaliagap commented 5 years ago

Is there any news for the botkit update and now the SDK Assistant is used?

mitchmason commented 5 years ago

I dont see how these two are related... Botkit middleware calls the /message API for an already created instance. It does not create an instance of Assistant. Anything in production will continue to use the v1 api, which is not deprecated. We are releasing a v2 which will include new features, but v1 is not deprecated if you still want to work that way.

pgoldweic commented 5 years ago

@mitchmason, if the v1 api is not deprecated, why did @NyWn see the error message?

mitchmason commented 5 years ago

bot kit middleware does not create a new instance, so I'm not sure. I'd want to hear more about what they were doing and where in the process that happened

yaliagap commented 5 years ago

bot kit middleware itself creates a conversation instance.

botkit-middleware/lib/middleware/index.js Line 19 in 231815c var ConversationV1 = require('watson-developer-cloud/conversation/v1');

It is precisely in this file and line where a conversation object v1 is instantiated. That is why the warning message is displayed.

mitchmason commented 5 years ago

Im pretty sure that just pulls in the sdk, it does not create a new service instance. Maybe the error message wording is just funky.

pgoldweic commented 5 years ago

I imagine you're most likely right. My question however, still stands. I guess a rephrase of my question is: do you know how long the sdk version currently used in Watson middleware will continue to function (before the API is sunset)? This will tell me how long I have to safely convert my bots to use a newer version of the middleware (before they break in production).

germanattanasio commented 5 years ago

@pgoldweic The service Conversation was renamed to Assistant. The warning it's just saying that the Conversation js module will be removed. We will update this middleware to use Assistant which provides the same functionality as Conversation.

Assistant v1 hasn't been deprecated, so you don't have to move to Assistant v2. It's just a change in the name. We will update this library shortly.

pgoldweic commented 5 years ago

Hi @germanattanasio. Glad to hear that you're planning to update the middleware shortly. Thanks!. I was really looking for some official IBM information as to when the removal above would be definitive, so that I can better plan my switch over to your then latest version of this middleware. Sorry if I wasn't clear about this.

igoruehara commented 5 years ago

bot-facebook -> WARNING: Conversation V1 is deprecated and will be removed in the next major release of the SDK. Use Assistant V1 or Assistant V2. Set {silent: true} to disable this message.

watson-github-bot commented 5 years ago

:tada: This issue has been resolved in version 1.8.2 :tada:

The release is available on:

Your semantic-release bot :package::rocket: