2.1.1 (https://github.com/watson-developer-cloud/swift-sdk/compare/2.1.0...2.1.1) (2019-06-28)
- SpeechToTextV1: Add configureSession parameter to RecognizeMicrophone. (87f5aed (https://github.com/watson-developer-cloud/swift-sdk/commit/87f5aed))
2.1.0 (https://github.com/watson-developer-cloud/swift-sdk/compare/2.0.3...2.1.0) (2019-06-08)
- Add support for insecure connections (975bb68 (https://github.com/watson-developer-cloud/swift-sdk/commit/975bb68))
- Assistant V1 updated DialogNodeOutputOptionsElementValue PR
- LTv3 Document Translator API
- NLU categories explanations
- STT processing metrics and audio metrics features
- Remove support for insecure connections for Linux (76f15f2 (https://github.com/watson-developer-cloud/swift-sdk/commit/76f15f2))
2.0.3 (https://github.com/watson-developer-cloud/swift-sdk/compare/2.0.3...2.0.3) (2019-04-15)
- All:
- Use bootstrap instead of update in carthage
- Use full url in semantic release
- Refactor bluemix to cloud.ibm
- Add Featured Projects section to README
2.0.2 (https://github.com/watson-developer-cloud/swift-sdk/compare/2.0.1...2.0.2) (2019-04-15)
- core: Look for iam_apikey in credential file with IAM auth (689d748 (https://github.com/watson-developer-cloud/swift-sdk/commit/689d748))
- Fix swiftlint errors (9b12dba (https://github.com/watson-developer-cloud/swift-sdk/commit/9b12dba))
2.0.1 (2019-04-07)
- VisualRecognitionV3:
- Add .zip to filenames passed to create/update classifier
- Fix multiple calls to completionHandler from classifyWithLocalModel.
2.0.0 (2019-03-28)
- All:
- Version moved to first parameter of init methods for basic authentication
- Credentials file support in the intializer dropped for iOS. Only supported in Linux
- Error response handling reworked for consistency across services and languages
- Ordering of parameters in some methods has changed due to migration of the API docs and generator to OpenAPI 3.0
- File-type parameters are now defined as
Data
rather thanURL
- AssistantV1:
- Some model classes have been merged / simplified
- The
InputData
class has been renamed toMessageInput
- SpeechToTextV1:
- The
recognizeWithWebsockets
method has been revised to accept aRecognizeCallback
object withonResults
andonError
callback properties
- The
1.4.0 (2019-02-12)
- AssistantV1: Remove erroneous
additionalProperties
from MessageResponse (60f1616) - CompareComplyV1: BodyCells had incorrect types for some of its properties (13c66af)
- All: New initializer that loads credentials from file (39ddae3)
- AssistantV1: Add
additionalProperties
property to InputData (1e14888) - CompareComplyV1: Add
address
as a possible Attribute (b34a782) - CompareComplyV1: Add
attributes
property to BodyCells (3302504) - CompareComplyV1: Add
importance
to Parties (96eb790) - CompareComplyV1: Add confidence level for the identification of the contract amount (35a773a)
- DiscoveryV1: Add method to get the stopword list status (4a6b615)
- DiscoveryV1: Add the
pending
status for Documents (f342c68) - SpeechToTextV1: Add new parameter
force
to upgradeAcousticModel() method (eecf18b)
1.3.1 (2019-01-18)
- SpeechToTextV1: Fix grammarName and redaction parameters in recognize websocket methods (64b116c)
1.3.0 (2019-01-18)
- SpeechToTextV1: Change contentType parameter to optional in certain methods (e033cff)
- DiscoveryV1: Add support for custom stopword lists (915ce68)
- DiscoveryV1: Add support for gateways (39393fa)
- DiscoveryV1: Add web crawlers to the list of possible sources (5a4a62e)
- SpeechToTextV1: Add new options to acoustic models and language models (3345b46)
- SpeechToTextV1: Add the ability to specify grammars in recognition requests (7edcdf4)
- VisualRecognitionV3: Add acceptLanguage parameter to detectFaces() (a260a9c)
- VisualRecognitionV3: Add genderLabel property to FaceGender model (a00f3c6)
1.2.0 (2019-01-11)
- CompareComplyV1: Change Location properties to optional (2e66ac5)
- CompareComplyV1: Fix incorrect parameter types (4cfa292)
- CompareComplyV1: Give more appropriate types to model properties (4b1af08)
- CompareComplyV1: Add properties to AlignedElements and Attribute (0fbeb6d)
- CompareComplyV1: New framework for Compare & Comply service (482444a)
1.1.1 (2019-01-10)
- AssistantV1: Add missing "disabled" field to DialogNode (e45de83)
- AssistantV2: Add missing userDefined field to MessageOutput (f65cafc)
1.1.0 (2018-12-11)
- AssistantV1: Add metadata field to Context model (13a90c1)
- AssistantV1: Add option to sort results in getWorkspace() (5cefc7b)
- DiscoveryV1: Add new concepts property to NluEnrichmentFeatures model (80258db)
- DiscoveryV1: Add retrievalDetails property to QueryResponse model (631affc)
- NaturalLanguageUnderstandingV1: Add 4 new properties to the Model model (53fe057)
- NaturalLanguageUnderstandingV1: Add new count property to KeywordsResult model (ab9a339)
- NaturalLanguageUnderstandingV1: Add new limit property to CategoriesOptions model (5bf6637)
1.0.0 (2018-12-06)
failure
andsuccess
callbacks are replaced with a singlecompletionHandler
of type(WatsonResponse<T>?, WatsonError?) -> Void
- New
WatsonResponse
type in the completion handlers that contains the response HTTP status, headers, and data - New
WatsonError
type in the completion handlers that contains more useful and detailed information about the error that occurred - Change the type of date-time properties from
String
toDate
- Remove all deprecated types, methods, and properties
- All parameters now get passed directly to methods rather than packaging them up in the
properties
parameter - All models are now
Codable
, instead of only beingEncodable
orDecodable
, so they can be converted both to and from JSON - All models are now
Equatable
- REMOVED - use AssistantV1 instead
- REMOVED - use LanguageTranslatorV3 instead
- Remove
additionalProperties
property fromCategoriesOptions
andMetadataOptions
- The
tokenURL
andwebsocketsURL
properties are no longer public. Setting theserviceURL
will automatically update the other two URLs appropriately. - Add missing parameters
baseModelVersion
,languageCustomizationID
, andcustomerID
to the following methods:recognize()
(using an audio file)recognizeUsingWebsocket()
recognizeMicrophone()
SpeechToTextSession()
initializers
- Remove
PositiveExample
model. All parameters that used that model are now of type[String: URL]
- Change the following properties from optional to nonoptional
ClassResult.score
DetectedFaces.imagesProcessed
FaceAge.score
FaceGender.score
0.38.1 (2018-11-13)
- SpeechToTextV1: Update recognizeMicrophone() to work with any authentication method (5701ba6)
0.38.0 (2018-11-12)
- VisualRecognitionV3: temporary workaround for new A12 based devices (62edd09)
- VisualRecognitionV3: temporary workaround to support A12 devices for Core ML inference (fa212ec)
- All: Add support for Swift 4.2 (4bbf42b)
0.37.0 (2018-11-02)
- AssistantV1, AssistantV2: Add cloudFunction and webAction to DialogNodeAction.ActionType (16d3fc9)
- DiscoveryV1: Tokenization dictionaries for collections (d274371)
- SpeechToTextV1: Add languageCustomizationID parameter to createJob() and recognize() (0137964)
0.36.0 (2018-10-19)
- Visual Recognition: Fix deserialization error in getCoreMlModel (9392b23)
- Conversion of file data to multipart form data (1d46baf)
- Discovery: Add "LT" option to environment sizes (f92fcde)
- Discovery: Add
size
parameter to updateEnvironment method (725e1d5) - Discovery: Add bias and loggingOptOut parameters to query methods (8782fc6)
- Discovery: Add requestedSize and searchStatus properties to Environment model (14cdb02)
- ToneAnalyzer: Add
ToneID
options toToneChatScore
(ac75c92)
- AssistantV1: Revert erroneous addition of
actions
property toOutputData
(28efe1e) - Linux: Remove 30 minute wait from Linux tests (1b4d734)
2018-09-25
This release adds the new AssistantV2 service.
2018-09-14
This release regenerates all services with documentation updates, adds support for IBM Cloud Private authentication, and adds a couple of new properties to Speech to Text and Assistant/Conversation.
This release includes the following new features:
- All services: Adds support for authentication with IBM Cloud Private (ICP) API keys. Use the
init(username:password:)
initializer, passingapikey
for theusername
parameter and the API key for thepassword
. - Speech to Text: Adds the language models
de-DE_BroadbandModel
,pt-BR_BroadbandModel
, andpt-BR_NarrowbandModel
- Assistant/Conversation: Add the
actions
property toMessageResponse
andOutputData
Internal bug fix regarding RestKit.framework. This should have no impact on users.
2018-08-31
This release adds support for installing each service in the Swift SDK via Cocoapods. It also adds new options to the Speech to Text recognize
API, and includes documentation improvements.
- Support for Cocoapods!
- Speech to Text: Adds the
acousticCustomizationID
andheaders
parameters to therecognize()
method - Speech to Text: Adds the
customizationWeight
property toRecognitionSettings
- Documentation: Split README into multiple READMEs: one main README plus one README for each service
- Documentation: Improved Jazzy docs
2018-08-16
This release regenerates all services with documentation updates, and adds some new methods to Discovery.
This release includes the following new features:
- Discovery: Add ability to create new
Events
to create log entries associated with specific queries - Discovery: Add new methods to obtain metrics and metadata on past queries
- Discovery: Changes the type of the
size
parameter in thecreateEnvironment
method fromInt
toString
.
2018-07-31
This release regenerates all services with documentation updates and minor generator improvements.
This release includes the following new features and bug fixes:
- Assistant: Add support for entity mentions and disambiguation
- Renames STT Websocket method to
recognizeUsingWebSocket
. The prior name is deprecated but retained for backward compatibility. - Fix Xcode 10 build error
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.