2.9.1
Bug Fixes
- Updated the Cartfile to depend on the correct version of the AWS iOS SDK. (Note, this is advisory only; we do not retrieve dependencies via Carthage.)
- Added Pods to source control so Carthage users (or anyone else who builds from source) will no longer need to issue a
pod update
before building (#150)
This release also includes changes from the previous, broken release, 2.9.0:
Bug Fixes
- Mutation queue handling is rewritten to use
OperationQueue
, to fix cases where mutations would either deadlock (#81), or not execute (#106). Thanks @larryonoff! 🎉 - S3Objects now correctly upload whether they are included as part of a mutation's parameters or an input type (#122)
Misc. Updates
-
Breaking API Changes
AWSPerformMutationOperation
waspublic
, now it'sinternal
AWSAppSyncClient.perform
now returnsCancellable
instead ofAWSPerformMutationOperation
-
Refactored internal network change notifications (#139)
-
Refactored structure & tests to make future maintenance easier. As part of this, we deprecated the
AWSAppSyncClientInfo
class in favor of theAWSAppSyncServiceConfigProvider
protocol. We provide a default implementationAWSAppSyncServiceConfig
.AWSAppSyncClientInfo
will be removed in a future minor version.- Thanks to @larryonoff for contributing code and PR feedback to this refactor! 🎉
-
Refactored tests into Unit and Integration tests. Currently, any test that requires network activity is placed in Integration tests, even if the test hits localhost and not a valid service.
- Updated the README to include new instructions for setting up your integration test environment.
- The project now includes an AWS CloudFormation template to bootstrap your test setups. This will be updated in the future to include S3 buckets and associated configuration to support complex object integration tests.
Known Issues
- The
AWSAppSync.podspec
file incorrectly declares a dependency on version 2.9.0 ofAWSCore
. The correct dependency version is 2.8.0, and is updated in the CocoaPods trunk spec repo.