Skip to content

Commit 5fed26a

Browse files
feat: add new service features and refactor for major release
1 parent 4c4feae commit 5fed26a

File tree

17 files changed

+10493
-14689
lines changed

17 files changed

+10493
-14689
lines changed

MIGRATION-V5.md

Lines changed: 0 additions & 126 deletions
This file was deleted.

MIGRATION-V6.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# Upgrading to [email protected]
2+
3+
_Note: If migrating from a version less than 5.0, also see the [v5 migration guide wiki](https://github.com/watson-developer-cloud/node-sdk/wiki/v5-Migration-Guide)._
4+
5+
- [Breaking Changes](#breaking-changes)
6+
- [Support for callbacks dropped](#support-for-callbacks-dropped)
7+
- [Support for Node v10 dropped](#support-for-node-v10-dropped)
8+
- [Breaking changes by service](#breaking-changes-by-service)
9+
10+
- [New Features by Service](#new-features-by-service)
11+
12+
## Breaking changes
13+
14+
#### Promises
15+
The detailed response is always returned. The `return_response` parameter is removed.
16+
```js
17+
const response = await listWorkspaces();
18+
console.log(response.result); // prints the body
19+
console.log(response.headers); // prints the headers
20+
```
21+
22+
#### Support for Callbacks Dropped
23+
Support for callbacks has been dropped in favor of promises. All functions will no longer accept a callback parameter. An example of replacing a callback with a promise using `await` is shown below
24+
```js
25+
//Callback
26+
const assistant = new AssistantV2(options);
27+
assistant.message(params, (err, res) => {
28+
if(err){
29+
console.log(err) //Print out error
30+
return
31+
}
32+
console.log(res.result) //Print out body
33+
});
34+
```
35+
```js
36+
//Promise
37+
const assistant = new AssistantV2(options);
38+
try{
39+
await res = assistant.message(params);
40+
console.log(res.result) //Print out body
41+
} catch(err){
42+
console.log(err) //Print out error
43+
}
44+
45+
```
46+
47+
### Support for Node v10 Dropped
48+
The SDK no longer supports Node version 10, as reflected in the `engines` property in the package.json file. Version 6 reached end of life in April 2019 and Version 8 reaches end of life on 31 December 2019.
49+
50+
### Breaking changes by service
51+
#### Assistant v1
52+
- Parameter `context` type changed from `JsonObject` to `DialogNodeContext` in `createDialogNode()`
53+
- Parameter `newContext` type changed from `JsonObject` to `DialogNodeContext` in `updateDialogNode()`
54+
- Interface `Context` property `system` type changed from `SystemResponse` to `JsonObject`
55+
- Interface `DialogNode` property `context` type changed from `JsonObject` to `DialogNodeContext`
56+
- Interface `DialogSuggestion` property `output` type changed from `DialogSuggestionOutput` to `JsonObject`
57+
- Interface `SystemResponse` removed
58+
- Interface `DialogSuggestionOuput` removed
59+
- Interface `DialogNodeOutputGeneric` expanded into multiple interfaces
60+
- Interface `RuntimeResponseGeneric` expanded into multiple interfaces
61+
62+
#### Assistant v2
63+
- Interface `MessageContext` property `skills` type changed from `MessageContextSkills` to `JsonObject`
64+
- Interface `MessageContextStateless` property `skills` type changed from `MessageContextSkills` to `JsonObject`
65+
- Interface `MessageInputOptions` property `_export` renamed to `export`
66+
- Interface `MessageContextSkills` removed
67+
- Interface `RuntimeResponseGeneric` expanded into multiple interfaces
68+
69+
#### Compare Comply
70+
- Parameter `before` and `after` removed in `listFeedback()`
71+
- Interface `OriginalLabelsOut` property `modification` removed
72+
- Interface `UpdatedLabelsOut` property `modification` removed
73+
- Interface `BatchStatus` property `_function` renamed to `function`
74+
75+
#### Discovery v1
76+
- Interface `NluEnrichmentCategories` removed
77+
- Interface `NluEnrichmentFeatures` property `categories` type changed from `NluEnrichmentCategories` to `JsonObject`
78+
79+
#### Discovery v2
80+
- Interface `DefaultQueryParams` property `_return` renamed `return`
81+
82+
#### Natural Language Understanding
83+
- Interface `AnalysisResults` property `metadata` type changed from `AnalysisResultsMetadata` to `FeaturesResultsMetadata`
84+
- Interface `Features` property `metadata` type changed from `MetadataOptions` to `JsonObject`
85+
- Interface `AnalysisResultsMetadata` removed
86+
- Interface `MetadataOptions` removed
87+
88+
#### Personality Insights
89+
- Interface `Content` property `content_items` renamed `contentItems`
90+
91+
#### Text to Speech
92+
- Interface `CreateVoiceModelParams` renamed to `CreateCustomModelParams`
93+
- Interface `ListVoiceModelParams` renamed to `ListCustomModelParams`
94+
- Interface `GetVoiceModelParams` renamed to `GetCustomModelParams`
95+
- Interface `UpdateVoiceModelParams` renamed to `UpdateCustomModelParams`
96+
- Interface `DeleteVoiceModelParams` renamed to `DeleteCustomModelParams`
97+
- Interface `CreateVoiceModelConstants` renamed to `CreateCustomModelConstants`
98+
- Interface `ListVoiceModelConstants` renamed to `ListCustomModelConstants`
99+
- Interface `VoiceModel` renamed to `CustomModel`
100+
- Use of `VoiceModel[]` replaced with interface `CustomModels`
101+
102+
#### Visual Recognition v3
103+
- Interface `Class` property `_class` renamed `class`
104+
- Interface `ClassResult` property `_class` renamed `class`
105+
106+
#### Visual Recognition v4
107+
- Interface `Collection` property `training_status` type changed from `TrainingStatus` to `CollectionTrainingStatus`
108+
- Interface `ObjectDetail` property `location` type changed from `Location` to `ObjectDetailLocation`
109+
110+
111+
### New Features by Service
112+
113+
#### Assistant v1
114+
- `includeCount` parameter added to several methods: Whether to include information about the number of records that satisfy the request, regardless of the page limit.
115+
- `bulkClassify()` method added: Identify intents and entities in multiple user utterances.
116+
- Interface `DialogNodeContext` added
117+
- Interface `DialogNodeOutput` property `integrations` added: Output intended for specific integrations. For more information, see the [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-responses-json)
118+
119+
#### Assistant v2
120+
- `bulkClassify()` method added: Identify intents and entities in multiple user utterances.
121+
122+
#### Compare Comply
123+
- Interface `Category` property `modification` added: The type of modification of the feedback entry in the updated labels response.
124+
- Interface `TypeLabel` property `modification` added: The type of modification of the feedback entry in the updated labels response.
125+
126+
#### Discovery v2
127+
- `analyzeDocument()` method added: Process a document using the specified collection's settings and return it for realtime use. **Note: This method is only supported on IBM Cloud Pak for Data instances of Discovery.**
128+
- Interface `QueryResponsePassage` added
129+
- Interface `QueryResponse` property `passages` added: Passages returned by Discovery.
130+
131+
#### Language Translator
132+
- `translateDocument()` now supports these subtitle/caption formats: `text/sbv`, `text/srt`, and `text/vtt`
133+
134+
#### Natural Language Understanding
135+
- Interface `FeaturesResultsMetadata` added: Webpage metadata, such as the author and the title of the page.
136+
137+
##### Speech to Text
138+
- `recognize()` and `createJob()` now support Canadian French broadband and narrowband models
139+
- `createLanguageModel()` and `createAcousticModel()` now supports Australian English broadband and narrowband models
140+
- `addGrammar()` parameter `grammarFile` now supports `ReadableStream` and `Buffer`
141+
142+
#### Visual Recognition v4
143+
- `createCollection()` parameter `trainingStatus` added: Training status information for the collection.
144+
- `updateCollection()` parameter `trainingStatus` added: Training status information for the collection.
145+
- Interface `CollectionTrainingStatus` added: Training status information for the collection.
146+
- Interface `ObjectDetailLocation` added: Defines the location of the bounding box around the object.

0 commit comments

Comments
 (0)