Skip to content

Commit ef54baf

Browse files
committed
Version 4.0.0
1 parent 62d432e commit ef54baf

File tree

450 files changed

+8746
-21762
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

450 files changed

+8746
-21762
lines changed

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# config file version: 1.1.0
1+
# config file version: 1.2.0
22
version: 2
33
jobs:
44
build:
5-
working_directory: /Users/distiller/launchdarkly/ios-client/tmp
5+
working_directory: /Users/distiller/launchdarkly/ios-swift-client-sdk-private/tmp
66
parallelism: 1 # controls the # of containers for the job. In theory, adding another container should halve the number of tests run in each container, but instead appears to run all tests in both containers.
77
shell: /bin/bash --login
88

@@ -12,7 +12,7 @@ jobs:
1212
FL_OUTPUT_DIR: output
1313

1414
macos:
15-
xcode: '10.1.0'
15+
xcode: '10.2.0'
1616

1717
steps:
1818
- checkout
@@ -47,7 +47,7 @@ jobs:
4747

4848
- run:
4949
name: Clean, Build, & Test LaunchDarkly_iOS
50-
command: set -o pipefail && xcodebuild clean build test -workspace 'LaunchDarkly.xcworkspace' -scheme 'LaunchDarkly_iOS' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone XS,OS=latest' CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= PROVISIONING_PROFILE= | tee 'xcode_raw.log' | xcpretty --color --report html --output '/Users/distiller/launchdarkly/ios-client/tmp/output/report.html' --report junit --output '/Users/distiller/launchdarkly/ios-client/tmp/output/xcode/report.junit'
50+
command: set -o pipefail && xcodebuild clean build test -workspace 'LaunchDarkly.xcworkspace' -scheme 'LaunchDarkly_iOS' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone XS,OS=latest' CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= PROVISIONING_PROFILE= | tee 'xcode_raw.log' | xcpretty --color --report html --output '/Users/distiller/launchdarkly/ios-swift-client-sdk-private/tmp/output/report.html' --report junit --output '/Users/distiller/launchdarkly/ios-swift-client-sdk-private/tmp/output/xcode/report.junit'
5151

5252
- run:
5353
name: Clean & Build LaunchDarkly_watchOS

.circleci/run-build-locally.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# A script that triggers a circleci build from the command line
22
# Script from https://circleci.com/docs/2.0/examples/#video-test-your-config-file-locally
3-
# Usage: From the project folder (e.g. 'ios-client') run 'bash .circleci/run-build-locally.sh'
3+
# Usage: From the project folder (e.g. 'ios-swift-client-sdk-private') run 'bash .circleci/run-build-locally.sh'
44
# Set the url to run in this format
55
# https://circleci.com/api/v1.1/project/<source, eg. github>/<user name>/<project name>/tree/<branch name>
66
# Dependencies:
@@ -10,4 +10,4 @@ curl --user ${CIRCLE_TOKEN}: \
1010
--request POST \
1111
--form config=@.circleci/config.yml \
1212
--form notify=false \
13-
https://circleci.com/api/v1.1/project/github/launchdarkly/ios-client/tree/master
13+
https://circleci.com/api/v1.1/project/github/launchdarkly/ios-swift-client-sdk-private/tree/master
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is this a support request?**
11+
This issue tracker is maintained by LaunchDarkly SDK developers and is intended for feedback on the SDK code. If you're not sure whether the problem you are having is specifically related to the SDK, or to the LaunchDarkly service overall, it may be more appropriate to contact the LaunchDarkly support team; they can help to investigate the problem and will consult the SDK team if necessary. You can submit a support request by going [here](https://support.launchdarkly.com/) and clicking "submit a request", or by emailing support@launchdarkly.com.
12+
13+
Note that issues filed on this issue tracker are publicly accessible. Do not provide any private account information on your issues. If your problem is specific to your account, you should submit a support request as described above.
14+
15+
**Describe the bug**
16+
A clear and concise description of what the bug is.
17+
18+
**To reproduce**
19+
Steps to reproduce the behavior.
20+
21+
**Expected behavior**
22+
A clear and concise description of what you expected to happen.
23+
24+
**Logs**
25+
If applicable, add any log output related to your problem.
26+
27+
**SDK version**
28+
The version of this SDK that you are using.
29+
30+
**Language version, developer tools**
31+
For instance, Go 1.11 or Ruby 2.5.3. If you are using a language that requires a separate compiler, such as C, please include the name and version of the compiler too.
32+
33+
**OS/platform**
34+
For instance, Ubuntu 16.04, Windows 10, or Android 4.0.3. If your code is running in a browser, please also include the browser type and version.
35+
36+
**Additional context**
37+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I would love to see the SDK [...does something new...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context about the feature request here.

.jazzy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module: LaunchDarkly
22
author: LaunchDarkly
33
author_url: http://launchdarkly.com
4-
github_url: https://github.com/launchdarkly/ios-client
4+
github_url: https://github.com/launchdarkly/ios-client-sdk
55
clean: true
66
include:
77
- "LaunchDarkly/LaunchDarkly/**"

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.2
1+
5.0

CHANGELOG.md

Lines changed: 66 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,25 @@
22

33
All notable changes to the LaunchDarkly iOS SDK will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
44

5-
## [3.0.0-beta.3] - 2019-03-07
5+
### Multiple Environment clients
6+
Version 4.0.0 does not support multiple environments. If you use version `2.14.0` or later and set `LDConfig`'s `secondaryMobileKeys` you will not be able to migrate to version `4.0.0`. Multiple Environments will be added in a future release to the Swift SDK.
7+
8+
## [4.0.0] - 2019-04-18
9+
This is the non-beta first release of the Swift SDK. It follows the beta.3 release from 2019-03-07. Unlike previous Swift SDK releases, this release does not have a `3.0.0` companion tag.
10+
### Changed
11+
- Changes Feature Flag caching so that cached feature flags are associated with a user key and mobile key.
12+
- Clears new warnings that appear with Xcode 10.2
13+
14+
### Added
15+
- Implements URL caching for REPORT requests.
16+
- Installs the ability to read cached data in all cached data schemas from `2.3.3` through `3.0.1` and store the feature flags in the `4.0.0` cached data schema.
17+
- Retains prior cached data for 90 days following upgrade to `4.0.0`. Does not keep older cached data up-to-date. Downgrading to a prior version within 90 days allows the downgraded app to read the last cached data from the downgraded version.
18+
19+
### Fixed
20+
- Prevents a log message that incorrectly reported a network error on watchOS
21+
22+
## [4.0.0-beta.3] - 2019-03-07
23+
This is part of the Swift SDK beta and was originally released as `3.0.0-beta.3`.
624
### Changed
725
- Renames SDK frameworks to `LaunchDarkly.framework` for iOS, and `LaunchDarkly_<platform>.framework` for non-iOS platforms.
826
- Renames targets to `LaunchDarkly_<platform>`.
@@ -15,7 +33,8 @@ All notable changes to the LaunchDarkly iOS SDK will be documented in this file.
1533
- Instructions to integrate without a Package Manager to `README.md`
1634
- New log entries that tell when the SDK could not find a feature flag, and when the SDK could not convert a feature flag to the requested type
1735

18-
## [3.0.0-beta.2] - 2019-02-06
36+
## [4.0.0-beta.2] - 2019-02-06
37+
This is part of the Swift SDK beta and was originally released as `3.0.0-beta.2`.
1938
### Changed
2039
- `LDFlagValueSource` is a Swift `enum` the SDK uses to communicate the source of a feature flag (`server`, `cache`, `fallback`) to the client app. The Objective-C `enum` was changed to an object to provide Objective-C client apps access to the methods available to the enum.
2140
- `mobileKey` was restored to a property within the `LDConfig`. As a result, `LDClient.start()` no longer takes a `mobileKey` parameter, and the `config` parameter is now required.
@@ -24,7 +43,8 @@ All notable changes to the LaunchDarkly iOS SDK will be documented in this file.
2443
- `LDClient.trackEvent` now accepts any valid json object. If an invalid JSON object is passed, the SDK throws a `JSONSerialization.JSONError.invalidJsonObject` error at runtime.
2544
-`LDClient.variation` and `variationAndSource` now accept Optional types and `nil` for the fallback value. The client app must specify the Optional Type for the compiler. See the migration guide for details.
2645

27-
## [3.0.0-beta.1] - 2018-12-11
46+
## [4.0.0-beta.1] - 2018-12-11
47+
This is part of the Swift SDK beta and was originally released as `3.0.0-beta.1`.
2848
### Added
2949
- `LDClient` can now provide information about the source of a feature flag, `cache`, `server`, and `fallback`.
3050
- `LDConfig` offers some new configuration properties: `eventCapacity`, `startOnline`, `enableBackgroundUpdates`
@@ -38,8 +58,49 @@ All notable changes to the LaunchDarkly iOS SDK will be documented in this file.
3858
- `LDClient` uses Swift generics to get feature flag values. Swift client apps use a `variation` method (without the type) to get flag values.
3959
- `LDClientDelegate` was removed. Observe feature flags using `observe` methods on `LDClient`. Set a closure the `LDClient` will execute when the server is unavailable.
4060

41-
### Multiple Environment clients
42-
Version 3.0.0 does not support multiple environments. If you use version 2.14.0 or later and set `LDConfig`'s `secondaryMobileKeys` you will not be able to migrate to version 3.0.0. Multiple Environments will be added in a future release to the Swift SDK.
61+
## [3.0.1] - 2019-04-30
62+
### Changed
63+
- Deployed Carthage built DarklyEventSource frameworks as part of the Darkly project.
64+
65+
## [3.0.0] - 2019-04-17
66+
### Changed
67+
- Renamed the non-iOS Darkly frameworks to include the platform name. e.g. Darkly_watchOS. Because non-CocoaPods apps will need to update imports for the new modules, advanced to the next major version.
68+
- Removed DarklyEventSource as a CocoaPods dependency in the podfile. DarklyEventSource remains a dependency in the podspec.
69+
70+
### Added
71+
- Nullability specifiers for items that caused new warnings with Xcode 10.2
72+
73+
## [3.0.0-beta.3] - 2019-03-07
74+
This is part of the Swift SDK beta and was renamed to `4.0.0-beta.1`. See [4.0.0-beta.3 - 2019-03-07](#4-0-0-beta-3-2019-03-07) for details
75+
76+
## [3.0.0-beta.2] - 2019-02-06
77+
This is part of the Swift SDK beta and was renamed to `4.0.0-beta.2`. See [4.0.0-beta.2 - 2019-02-06](#4-0-0-beta-2-2019-02-06) for details
78+
79+
## [3.0.0-beta.1] - 2018-12-11
80+
This is part of the Swift SDK beta and was renamed to `4.0.0-beta.1`. See [4.0.0-beta.1 - 2018-12-11](#4-0-0-beta-1-2018-12-11) for details
81+
82+
## [2.14.4] - 2019-02-26
83+
### Changed
84+
- Changed the following to repair macOS builds:
85+
- Removed extraneous framework reference from Darkly_macOS target
86+
- Deselected `Autocreate schemes` in Darkly.xcworkspace
87+
88+
## [2.14.3] - 2019-02-25
89+
### Changed
90+
- Added support for integrating without a package manager
91+
- Updated to `DarklyEventSource` version `4.0.1`, which adds platform specific targets to support integration without a package manager.
92+
93+
## [2.14.2] - 2019-01-24
94+
### Added
95+
- Added nullability specifiers to public SDK classes.
96+
97+
### Changed
98+
- Updated to `DarklyEventSource` version `4.0.0`, which eliminates a 1-second delay in SDK initialization.
99+
100+
## [2.14.1] - 2018-12-21
101+
### Changed
102+
- Added copy methods to several objects involved in creating a summary event.
103+
- Added additional synchronization to creating a summary event in order to potentially prevent some crash scenarios.
43104

44105
## [2.14.0] - 2018-12-05
45106
### Added

CONTRIBUTING.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
1-
Contributing to LaunchDarkly SDK for iOS
2-
=========================================
1+
Contributing to the LaunchDarkly SDK for iOS
2+
================================================
3+
4+
LaunchDarkly has published an [SDK contributor's guide](https://docs.launchdarkly.com/docs/sdk-contributors-guide) that provides a detailed explanation of how our SDKs work. See below for additional information on how to contribute to this SDK.
5+
6+
Submitting bug reports and feature requests
7+
------------------
38

4-
We encourage pull-requests and other contributions from the community. We've also published an [SDK contributor's guide](http://docs.launchdarkly.com/docs/sdk-contributors-guide) that provides a detailed explanation of how our SDKs work.
9+
The LaunchDarkly SDK team monitors the [issue tracker](https://github.com/launchdarkly/ios-client-sdk/issues) in the SDK repository. Bug reports and feature requests specific to this SDK should be filed in this issue tracker. The SDK team will respond to all newly filed issues within two business days.
10+
11+
Submitting pull requests
12+
------------------
13+
14+
We encourage pull requests and other contributions from the community. Before submitting pull requests, ensure that all temporary or unintended code is removed. Don't worry about adding reviewers to the pull request; the LaunchDarkly SDK team will add themselves. The SDK team will acknowledge all pull requests within two business days.
15+
16+
Build instructions
17+
------------------
18+
19+
### Prerequisites
20+
21+
This SDK is built with [XCode](https://developer.apple.com/xcode/). This version is compatible with XCode 10.2.
22+
23+
### Building
24+
25+
The exact command used to build the SDK depends on where you want to use it (for example -- iOS, watchOS, etc.). Refer to the `xcodebuild` commands in the SDK's [continuous integration build configuration](.circleci/config.yml) for examples on how to build for the different platforms.
526

27+
If you wish to clean your working directory between builds, include the `clean` goal in your `xcodebuild` command(s).
28+
29+
### Testing
30+
31+
To build the SDK and run all unit tests, include the `test` goal in your `xcodebuild` command(s).

Carthage/Build/.ios-eventsource.version

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.

0 commit comments

Comments
 (0)