2018-07-16
This release regenerates all services with documentation updates and minor generator improvements.
This release includes the following new features and bug fixes:
- Discovery: Add support for credentials and configuration source options
- Add support for websocket features for services using IAM authentication
- Handle malformed URLs when constructing URL requests
- Remove version param from IAM init methods for LTv2, NLC, STT, TTS
2018-06-29
This release regenerates all services with generator updates for error handling and multi-consumes operations.
The release also adds a deprecation notice for the Language Translator v2 service. Users are encouraged to migrate to the new Language Translator v3 service.
This release should be fully compatible with the previous SDK release.
2018-06-21
This release regenerates just the NLC service to add support for IAM authentication.
2018-06-12
This release regenerates all services. It includes updates to the documentation and some minor new service features.
This release includes the following new features and bug fixes:
- Adds support for the new Language Translator V3 service and deprecates Language Translator V2
- Fix for issue 833
2018-05-28
This release regenerates all services. It includes updates to the documentation and some minor new service features.
This release includes the following new features and bug fixes:
- Adds support for IAM authentication, using either an IAM API Key or an access_token obtained using the service API Key
2018-05-17
This release regenerates all services. It includes updates to the documentation and some minor new service features.
This release includes the following new features and bug fixes:
- Adds a
headers
parameter to all service methods that can be used to pass request headers to be sent with the request. - Adds a
deleteUserData
method in some services to allow deletion of data associated with a specifiedcustomer_id
.
2018-04-26
This release regenerates all services except for Visual Recognition. It includes considerable updates to the function documentation and model serialization/deserialization, although they should not be breaking changes for users.
This release also includes the following new features and bug fixes:
- Discovery: Adds support for document segmentation
- Natural Language Classifier: Adds support for
classifyCollection
- Speech to Text: Adds acoustic model customization
- Speech to Text: Adds enums for
BaseModelName
- Tone Analyzer: Fixes a bug with the
tones
list for thetone
function - Tone Analyzer: Adds
contentLanguage
parameter totoneChat
- Tone Analyzer: Adds plain-text and HTML variants of the
tone
function - Tone Analyzer: Removes unused
content-type
parameter from the JSON variant of thetone
function
2018-04-21
This release fixes a bug with SwiftLint and Xcode 9.3 by reducing the severity of the superfluous_disable_command
rule to a warning
instead of an error
.
2018-04-09
This release includes major updates to support the latest version of the Discovery service. Note that the Discovery Service's API has been changed in order to improve uniformity between the Watson SDKs.
2018-04-09
This release fixes a bug with the updateClassifier
method in Visual Recognition.
2018-04-02
This release improves support for Swift 4.1 and Xcode 9.3.
2018-03-28
This release fixes a few bugs for Linux compatibility:
- Only
import CoreML
in supported environments - Include Assistant tests in
LinuxMain.swift
It also updates the readme for API changes introduced in v0.22.0.
2018-03-22
This release fixes a bug with created
and updated
dates when using the 2018-02-16
version of Assistant or Conversation.
2018-03-20
This update adds Apple Core ML support for Visual Recognition. With Core ML you can download a trained classifier model and use it for offline image classification.
2018-03-16
This update adds the Assistant service.
In addition, the following services have been updated to support their latest release. Note that some APIs have changed in order to improve uniformity between the Watson SDKs.
- Conversation
- Language Translator
- Natural Language Classifier
- Natural Language Understanding
- Personality Insights
- Text to Speech
- Tone Analyzer
- Visual Recognition
The following deprecated services have also been removed from the SDK:
- AlchemyDataNewsV1
- AlchemyLanguageV1
- AlchemyVisionV1
- DialogV1
- DocumentConversionV1
- PersonalityInsightsV2
- RelationshipExtractionV1Beta
- RetrieveAndRankV1
- TradeoffAnalyticsV1
2018-02-01
- Change uses of
NSLocalizedFailureReasonErrorKey
toNSLocalizedDescriptionKey
for Linux compatibility - Only lint the
Source/Service
folder for framework build targets (fixes a bug with carthage --no-use-binaries) - Fix style errors reported by
swiftlint
(fixes a bug with carthage --no-use-binaries) - Improve test infrastructure for simulator and Linux
2018-01-17
This release extracts Starscream to be an external dependency. Starscream adds support for WebSockets sessions and is required for use with the Speech to Text service. Because it is an external dependency, developers using the SDK must now link and embed it in their projects. For more information, see Readme: Speech to Text.
This release also includes the following additional changes:
- Deprecate Document Conversion
- Add conditional compilation by platform to improve future compatibility with Linux
- Set client WebSockets timeout to match the Speech to Text service (30s)
- Improve code style using SwiftLint
2017-10-24
This release includes the following changes:
- Update Conversation to support 2017-05-26 release with Codable models
- Update Natural Language Understanding to support 2017-02-27 release with Codable models
- Update Visual Recognition to deprecate similarity search operations
- Update Speech to Text to fix a bug with interim speaker labels
- Remove RestKit target (files are now included directly in each service's target)
- Update Package.swift for swift-tools-version:4.0
- Update Starscream dependency
- Update libopus dependency to v1.1.3
- Add extensions to support [String: Any] metadata with Codable models
- Add extensions to support additional properties with Codable models
2017-10-01
This release updates the SDK to use Swift 4.
2017-09-14
This release includes the following changes:
- Update Conversation to support 2017-05-26 release
- Update Speech to Text to support 2017-07-14 release
- Fix a bug to enable building with Xcode 9
- Other minor bug fixes and documentation updates
Please note that the continuous
recognition setting was removed in the 2017-05-22 release of the Watson Speech to Text service. For advice on stopping the microphone, please see this section of the readme.
2017-05-1
This release includes support for the following Conversation endpoints:
- Examples
- Counterexamples
- Workspaces
- Intents
2017-04-5
This release provides support for Xcode 8.3 and Swift 3.1.
2017-03-8
Updating small Discovery service bug that prevented reading credentials.
2017-03-2
This update includes:
- Updates for Natural Language Understanding service.
- Bug fixes for memory leak in text to speech.
2017-02-10
This update includes:
- Support for Natural Language Understanding service.
- Fixes for error handling when parsing credential errors.
2017-01-25
This update fixes build errors for Linux compatibility by:
- Removing CVarArg
- Editing the glossary reading error.
2017-01-19
This update fixes Carthage Build and update to Xcode 8.2, Swift 3.0.2
2017-01-18
This update adds the following features and support:
- Customize Speech to Text.
- Add and edit metadata to photos within Visual Recognition.
- Basic Linux support for Conversation, Language Translator, Natural Language Classifier, Personality Insights V3, Tone Analyzer, and Tradeoff Analytics.
Please note this release includes renaming the iOS SDK to Swift SDK.
2016-12-22
This release adds support for the Discovery service.
2016-12-06
This update adds support for the Visual Recognition service's similarity search. It also updates sample applications for Swift 3.0 and adds several bug fixes:
- Visual Recognition: Enable uploading and classifying .PNG images.
- Speech to Text: Allow audio playback when AVAudioSession is activated.
2016-11-23
This update add support for Personality Insights V3 and several minor bug fixes:
- RestKit: Add a guard statement to avoid Any? to Any coercion.
- Speech to Text: Avoid sending data when payload is empty.
- Visual Recognition: Make age max and min properties optional.
- Visual Recognition: Updated error handling to recognize more service errors.
2016-11-11
This update adds support for the Speech to Text service's smart formatting parameter in Swift 3. It also fixes some broken links in the documentation.
2016-11-11
This update adds support for the Speech to Text service's smart formatting parameter in Swift 2.3.
2016-11-11
This update adds support for the Speech to Text service's smart formatting parameter in Swift 2.2.
2016-11-07
This release migrates the SDK to Swift 3.0 and removes external dependencies.
2016-10-12
This release updates the Swift 2.3 version of the iOS SDK with several bug fixes and minor changes.
-
All Services: Default HTTP headers can now be set for each service.
-
All Services: The service URL parameter was moved from each
init
to a class property. To set a custom service URL parameter, set the class property instead of passing it as a parameter to the initializer. (For example:textToSpeech.serviceURL = "..."
.) -
Credentials: Testing credentials were moved to a .swift file for convenience.
-
Language Translator: Update the default service URL for the recent release of the Language Translator service. To use an existing Language Translation service, specify a custom service URL.
-
Natural Language Classifier: Updates the trained classifier id used for testing.
-
Speech to Text: Add support for setting customization_id parameter.
-
Speech to Text: Added support for additional audio formats (
AudioMediaType.MuLaw
andAudioMediaType.Basic
) -
Speech to Text: Added support for the
supported_features
parameter of language models, which identifies whether certain additional service features are supported with any given model. -
Speech to Text: Fix a bug where the microphone would continue recording when disconnected by the service (which also prevented the service from operating correctly when reconnecting).
-
Text to Speech: Validate the status code in the response to
synthesize()
. This helps to produce more meaningful error messages when using incorrect credentials with the service. -
Visual Recognition: Any errors writing the JSON parameters file are now passed back to the user.
2016-09-14
This update adds support for Xcode 8 and Swift 2.3+.
2016-10-12
This release updates the Swift 2.2 version of the iOS SDK with several bug fixes and minor changes.
- All Services: Default HTTP headers can now be set for each service.
- Speech to Text: Add support for setting customization_id parameter.
- Visual Recognition: Any errors writing the JSON parameters file are now passed back to the user.
2016-09-30
The release updates the Swift 2.2 version of the iOS SDK with several bug fixes and minor changes.
-
All Services: The service URL parameter was moved from each
init
to a class property. To set a custom service URL parameter, set the class property instead of passing it as a parameter to the initializer. (For example:textToSpeech.serviceURL = "..."
.) -
Cartfile: The
Cartfile
was updated to explicitly specify Swift 2.2 compatible versions of the SDK's dependencies. -
Credentials: Testing credentials were moved to a .swift file for convenience.
-
Language Translator: Update the default service URL for the recent release of the Language Translator service. To use an existing Language Translation service, specify a custom service URL.
-
Natural Language Classifier: Updates the trained classifier id used for testing.
-
Speech to Text: Added support for additional audio formats (
AudioMediaType.MuLaw
andAudioMediaType.Basic
) -
Speech to Text: Added support for the
supported_features
parameter of language models, which identifies whether certain additional service features are supported with any given model. -
Speech to Text: Fix a bug where the microphone would continue recording when disconnected by the service (which also prevented the service from operating correctly when reconnecting).
-
Text to Speech: Validate the status code in the response to
synthesize()
. This helps to produce more meaningful error messages when using incorrect credentials with the service.
2016-09-11
This update adds a new implementation for Speech to Text. The implementation includes a better, redesigned API. It also includes two separate classes, SpeechToText and SpeechToTextSession for simple and advanced usage, respectively. In particular, SpeechToTextSession exposes more control over the WebSockets session and microphone, including access to raw data and the decibel power level.
2016-08-11
This update adds the Retrieve and Rank service. It also adds re-training functionality to Visual Recognition and includes several minor documentation updates.
2016-07-26
This update adds the ConversationV1 service, along with the following minor updates:
- All Services: Add support for iOS 8+
- All Services: Update tests to improve consistency
- Travis: Update CI to build and test with both iOS 8 and iOS 9
- Alchemy Language: Change
forUrl
parameter toforURL
- Alchemy Vision: Deprecated in favor of Visual Recognition
- Relationship Extraction: Deprecated in favor of Alchemy Language
- Text To Speech: Add test for empty string
- Tone Analyzer: Update to the general availability URL
Note that the Alchemy Vision and Relationship Extraction services remain in the SDK. You can continue to use these services in your applications, but they will result in a deprecation build warning.
2016-07-02
This update fixes issue #363 by modifying the RelationshipExtractionV1Beta scheme to avoid building/profiling/archiving/analyzing the RelationshipExtractionV1BetaTests target.
2016-06-30
This is a minor update to add documentation.
2016-06-27
This is a major update for the Watson Developer Cloud iOS SDK, with 5 main additions:
- AlchemyData News service
- Conversation (Experimental) service
- Document Conversion service
- Relationship Extraction service
- Text to Speech customization endpoints
- Tradeoff Analytics service
This release also includes a number of minor changes and bug fixes:
- All Services: Add
serviceURL
as an argument to initializer. - All Services: Add custom HTTP user agent header.
- Alchemy Language: Transition to RestKit architecture.
- Alchemy Vision: Use
NSData
instead ofNSURL
for image parameters. - Alchemy Vision: Fix bug with celebrity identity.
- Alchemy Vision: Fix bug with HTML endpoints.
- Alchemy Vision: Improve error handling.
- Alchemy Vision: Improve tests.
- Dialog: Add missing documentation.
- Language Translation: Add missing documentation.
- Language Translation: Rename to Language Translator.
- Natural Language Classifier: Add missing documentation.
- Speech to Text: Add missing documentation.
- Text to Speech: Change
AudioFormat.OGG
case toAudioFormat.Opus
- Text to Speech: Add missing documentation.
- Tone Analyzer: Improve tests.
- Readme: Fix bugs.
- Quickstart Guide: Fix bugs.
- Swift Package Manager: Add
Package.swift
file. - Carthage: Remove ObjectMapper dependency.
- Carthage: Update
Cartfile.resolved
2016-05-21
The iOS-sdk version 0.3.0 has many major changes with this new release. The team worked diligently at removing many of the third party dependencies and fully embracing AlamoFire by implementing the rest-kit code.
Major updates
- Added IBM Watson Tone Analyzer
- Added IBM Watson Visual Recognition
- Updated all of the code to use the new Rest-kit and removed NetworkUtils and WatsonGateway. We still have one service to convert, Alchemy Language, but we anticipate that change coming in the next minor release.
- Removed many dependencies and reducing the total number to three. Alamofire, Freddy, and Starscream.
- You will notice an update to the targets available and now the developer can pick and choose the services to include.
The process of migrating a service to Rest-kit required a large re-implementation of the service. As part of the reimplementation, we additionally gain:
- More consistent coding patterns between services.
- Better documentation.
- Better tests.
- Reorganized project structure to support Swift Package Manager.
In addition, the Rest-kit branch has a number of architectural changes that should make the SDK easier to maintain and easier to consume.
- Uses Alamofire directly instead of NetworkUtils or WatsonGateway.
- Uses Freddy instead of ObjectMapper, allowing us to better express the models.
- Uses separate failure and success closures to avoid unwrapping optionals and enable consistent error handling. We debated as a team as to the correct approach and concluded this was the best approach for the granularity. One benefit is the user does not have to unwrap a response. It also allows for a more unified error return.