Skip to content

Commit

Permalink
prepare 7.1.0 release (#284)
Browse files Browse the repository at this point in the history
## [7.1.0] - 2022-11-08
### Added:
- Added Objective C bindings for ApplicationInfo.
  • Loading branch information
keelerm84 authored Nov 8, 2022
1 parent aea0cbf commit 8ceaa14
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 18 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

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

## [7.1.0] - 2022-11-08
### Added:
- Added Objective C bindings for ApplicationInfo.

## [7.0.0] - 2022-10-12
### Changed:
- Dropped support for older versions in accordance with the new [Xcode 14 release](https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes).
Expand Down
2 changes: 1 addition & 1 deletion LaunchDarkly.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Pod::Spec.new do |ld|

ld.name = "LaunchDarkly"
ld.version = "7.0.0"
ld.version = "7.1.0"
ld.summary = "iOS SDK for LaunchDarkly"

ld.description = <<-DESC
Expand Down
34 changes: 22 additions & 12 deletions LaunchDarkly.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,10 @@
A322B4CF28BE4DA800A212ED /* LDSwiftEventSource in Frameworks */ = {isa = PBXBuildFile; productRef = A322B4CE28BE4DA800A212ED /* LDSwiftEventSource */; };
A322B4D128BE4DB200A212ED /* LDSwiftEventSource in Frameworks */ = {isa = PBXBuildFile; productRef = A322B4D028BE4DB200A212ED /* LDSwiftEventSource */; };
A322B4D328BE4DBA00A212ED /* LDSwiftEventSource in Frameworks */ = {isa = PBXBuildFile; productRef = A322B4D228BE4DBA00A212ED /* LDSwiftEventSource */; };
A3799D4529033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */; };
A3799D4629033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */; };
A3799D4729033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */; };
A3799D4829033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */; };
B40B419C249ADA6B00CD0726 /* DiagnosticCacheSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = B40B419B249ADA6B00CD0726 /* DiagnosticCacheSpec.swift */; };
B4265EB124E7390C001CFD2C /* TestUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4265EB024E7390C001CFD2C /* TestUtil.swift */; };
B468E71024B3C3AC00E0C883 /* ObjcLDEvaluationDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = B468E70F24B3C3AC00E0C883 /* ObjcLDEvaluationDetail.swift */; };
Expand Down Expand Up @@ -393,6 +397,7 @@
83F0A5631FB5F33800550A95 /* LDConfigSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LDConfigSpec.swift; sourceTree = "<group>"; };
83FEF8DC1F266742001CF12C /* FlagSynchronizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlagSynchronizer.swift; sourceTree = "<group>"; };
83FEF8DE1F2667E4001CF12C /* EventReporter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventReporter.swift; sourceTree = "<group>"; };
A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObjcLDApplicationInfo.swift; sourceTree = "<group>"; };
B40B419B249ADA6B00CD0726 /* DiagnosticCacheSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiagnosticCacheSpec.swift; sourceTree = "<group>"; };
B4265EB024E7390C001CFD2C /* TestUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestUtil.swift; sourceTree = "<group>"; };
B468E70F24B3C3AC00E0C883 /* ObjcLDEvaluationDetail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjcLDEvaluationDetail.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -616,6 +621,7 @@
835E1D421F685AC900184DB4 /* ObjcLDChangedFlag.swift */,
B468E70F24B3C3AC00E0C883 /* ObjcLDEvaluationDetail.swift */,
29F9D19D2812E005008D12C0 /* ObjcLDValue.swift */,
A3799D4429033665008D4A8E /* ObjcLDApplicationInfo.swift */,
);
path = ObjectiveC;
sourceTree = "<group>";
Expand Down Expand Up @@ -1148,6 +1154,7 @@
830DB3B12239B54900D65D25 /* URLResponse.swift in Sources */,
831188512113ADF400D77CB5 /* ClientServiceFactory.swift in Sources */,
831188442113ADC200D77CB5 /* LDConfig.swift in Sources */,
A3799D4829033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */,
83906A7721190B1900D7D3C5 /* FlagRequestTracker.swift in Sources */,
B495A8A52787762C0051977C /* LDClientVariation.swift in Sources */,
831188622113AE3A00D77CB5 /* Data.swift in Sources */,
Expand All @@ -1174,6 +1181,7 @@
831EF34C20655E730001C643 /* FlagChangeObserver.swift in Sources */,
831EF34D20655E730001C643 /* FlagsUnchangedObserver.swift in Sources */,
831EF34E20655E730001C643 /* Event.swift in Sources */,
A3799D4729033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */,
C443A41123186A4F00145710 /* ConnectionModeChangeObserver.swift in Sources */,
831EF35020655E730001C643 /* ClientServiceFactory.swift in Sources */,
831EF35120655E730001C643 /* KeyedValueCache.swift in Sources */,
Expand Down Expand Up @@ -1259,6 +1267,7 @@
B4C9D42E2489B5FF004A9B03 /* DiagnosticEvent.swift in Sources */,
83B8C2471FE4071F0082B8A9 /* HTTPURLResponse.swift in Sources */,
830DB3AE2239B54900D65D25 /* URLResponse.swift in Sources */,
A3799D4529033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */,
83DDBEF61FA24A7E00E428B6 /* Data.swift in Sources */,
B495A8A22787762C0051977C /* LDClientVariation.swift in Sources */,
838F96781FBA504A009CFC45 /* ClientServiceFactory.swift in Sources */,
Expand Down Expand Up @@ -1357,6 +1366,7 @@
B4C9D42F2489B5FF004A9B03 /* DiagnosticEvent.swift in Sources */,
83D9EC992062DEAB004D7FA6 /* ObjcLDConfig.swift in Sources */,
830DB3AF2239B54900D65D25 /* URLResponse.swift in Sources */,
A3799D4629033665008D4A8E /* ObjcLDApplicationInfo.swift in Sources */,
83D9EC9A2062DEAB004D7FA6 /* ObjcLDUser.swift in Sources */,
B495A8A32787762C0051977C /* LDClientVariation.swift in Sources */,
83D9EC9C2062DEAB004D7FA6 /* ObjcLDChangedFlag.swift in Sources */,
Expand Down Expand Up @@ -1403,7 +1413,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
MODULEMAP_FILE = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-tvOS";
PRODUCT_NAME = LaunchDarkly_tvOS;
Expand All @@ -1426,7 +1436,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
MODULEMAP_FILE = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-tvOS";
PRODUCT_NAME = LaunchDarkly_tvOS;
Expand All @@ -1449,7 +1459,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-macOS";
PRODUCT_NAME = LaunchDarkly_macOS;
SDKROOT = macosx;
Expand All @@ -1470,7 +1480,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-macOS";
PRODUCT_NAME = LaunchDarkly_macOS;
SDKROOT = macosx;
Expand Down Expand Up @@ -1513,8 +1523,8 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 7.0.0;
DYLIB_CURRENT_VERSION = 7.0.0;
DYLIB_COMPATIBILITY_VERSION = 7.1.0;
DYLIB_CURRENT_VERSION = 7.1.0;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_VERSION = D;
Expand Down Expand Up @@ -1584,8 +1594,8 @@
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 7.0.0;
DYLIB_CURRENT_VERSION = 7.0.0;
DYLIB_COMPATIBILITY_VERSION = 7.1.0;
DYLIB_CURRENT_VERSION = 7.1.0;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_VERSION = D;
Expand Down Expand Up @@ -1624,7 +1634,7 @@
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
MODULEMAP_FILE = "$(PROJECT_DIR)/Framework/module.modulemap";
PRODUCT_BUNDLE_IDENTIFIER = com.launchdarkly.Darkly;
PRODUCT_NAME = LaunchDarkly;
Expand All @@ -1644,7 +1654,7 @@
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
MODULEMAP_FILE = "$(PROJECT_DIR)/Framework/module.modulemap";
PRODUCT_BUNDLE_IDENTIFIER = com.launchdarkly.Darkly;
PRODUCT_NAME = LaunchDarkly;
Expand Down Expand Up @@ -1686,7 +1696,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-watchOS";
PRODUCT_NAME = LaunchDarkly_watchOS;
SDKROOT = watchos;
Expand All @@ -1708,7 +1718,7 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = "$(PROJECT_DIR)/LaunchDarkly/LaunchDarkly/Support/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
MARKETING_VERSION = 7.0.0;
MARKETING_VERSION = 7.1.0;
PRODUCT_BUNDLE_IDENTIFIER = "com.launchdarkly.Darkly-watchOS";
PRODUCT_NAME = LaunchDarkly_watchOS;
SDKROOT = watchos;
Expand Down
2 changes: 1 addition & 1 deletion LaunchDarkly/LaunchDarkly/Models/LDConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ typealias MobileKey = String

/**
A callback for dynamically setting http headers when connection & reconnecting to a stream
or on every poll request. This function should return a copy of the headers recieved with
or on every poll request. This function should return a copy of the headers received with
any modifications or additions needed. Removing headers is discouraged as it may cause
requests to fail.

Expand Down
43 changes: 43 additions & 0 deletions LaunchDarkly/LaunchDarkly/ObjectiveC/ObjcLDApplicationInfo.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import Foundation

/**
Use LDApplicationInfo to define application metadata.

These properties are optional and informational. They may be used in LaunchDarkly analytics or other product features,
but they do not affect feature flag evaluations.
*/
@objc(LDApplicationInfo)
public final class ObjcLDApplicationInfo: NSObject {
internal var applicationInfo: ApplicationInfo

@objc override public init() {
applicationInfo = ApplicationInfo()
}

internal init(_ applicationInfo: ApplicationInfo?) {
if let appInfo = applicationInfo {
self.applicationInfo = appInfo
} else {
self.applicationInfo = ApplicationInfo()
}
}

/// A unique identifier representing the application where the LaunchDarkly SDK is running.
///
/// This can be specified as any string value as long as it only uses the following characters:
/// ASCII letters, ASCII digits, period, hyphen, underscore. A string containing any other
/// characters will be ignored.
@objc public func applicationIdentifier(_ applicationId: String) {
applicationInfo.applicationIdentifier(applicationId)
}

/// A unique identifier representing the version of the application where the LaunchDarkly SDK
/// is running.
///
/// This can be specified as any string value as long as it only uses the following characters:
/// ASCII letters, ASCII digits, period, hyphen, underscore. A string containing any other
/// characters will be ignored.
@objc public func applicationVersion(_ applicationVersion: String) {
applicationInfo.applicationVersion(applicationVersion)
}
}
5 changes: 5 additions & 0 deletions LaunchDarkly/LaunchDarkly/ObjectiveC/ObjcLDConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ public final class ObjcLDConfig: NSObject {
get { config.backgroundFlagPollingInterval }
set { config.backgroundFlagPollingInterval = newValue }
}
/// The application info meta data.
@objc public var applicationInfo: ObjcLDApplicationInfo {
get { ObjcLDApplicationInfo(config.applicationInfo) }
set { config.applicationInfo = newValue.applicationInfo }
}

/// The minimum interval between feature flag requests. Used only for polling mode. (5 minutes)
@objc public var minFlagPollingInterval: TimeInterval {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ struct EnvironmentReporter: EnvironmentReporting {
#endif

var shouldThrottleOnlineCalls: Bool { !isDebugBuild }
let sdkVersion = "7.0.0"
let sdkVersion = "7.1.0"
// Unfortunately, the following does not function in certain configurations, such as when included through SPM
// var sdkVersion: String {
// Bundle(for: LDClient.self).infoDictionary?["CFBundleShortVersionString"] as? String ?? "5.x"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ To include LaunchDarkly in a Swift package, simply add it to the dependencies se

```swift
dependencies: [
.package(url: "https://github.com/launchdarkly/ios-client-sdk.git", .upToNextMinor(from: "7.0.0"))
.package(url: "https://github.com/launchdarkly/ios-client-sdk.git", .upToNextMinor(from: "7.1.0"))
]
```

Expand All @@ -60,7 +60,7 @@ To use the [CocoaPods](https://cocoapods.org) dependency manager to integrate La
```ruby
use_frameworks!
target 'YourTargetName' do
pod 'LaunchDarkly', '~> 7.0'
pod 'LaunchDarkly', '~> 7.1'
end
```

Expand All @@ -71,7 +71,7 @@ To use the [Carthage](https://github.com/Carthage/Carthage) dependency manager t
To integrate LaunchDarkly into your Xcode project using Carthage, specify it in your `Cartfile`:

```ogdl
github "launchdarkly/ios-client-sdk" ~> 7.0
github "launchdarkly/ios-client-sdk" ~> 7.1
```

### Manual installation
Expand Down

0 comments on commit 8ceaa14

Please sign in to comment.