Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: 3.12.0 #648

Merged
merged 9 commits into from
Jul 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ commands:
directory:
type: string
steps:
- run:
name: Install swiftlint
command: brew install swiftlint
Comment on lines +73 to +75
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was missing for some jobs

- install-gems:
directory: << parameters.directory >>
- scan-and-archive:
Expand All @@ -89,8 +92,7 @@ commands:
steps:
- install-gems
- run:
name: Update git commit in SPM package
working_directory: IntegrationTests/SPMIntegration/
name: Update git commit in targets that use SPM for dependencies
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MagicWeather and MagicWeatherSwiftUI have been recently updated to use the new identity v3 stuff, but to do that they need to point to a version of the SDK that has them.

So I updated them to point to main, and in release versions, the current commit (this job takes care of updating said commit)

command: |
bundle exec fastlane update_swift_package_commit

Expand Down Expand Up @@ -158,6 +160,9 @@ jobs:
steps:
- checkout
- trust-github-key
- run:
name: Install swiftlint
command: brew install swiftlint

# Bundler
- restore_cache:
Expand Down
4 changes: 2 additions & 2 deletions .jazzy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ objc: true
sdk: iphonesimulator
module: Purchases
umbrella_header: Purchases/Public/Purchases.h
module_version: 3.12.0-SNAPSHOT
module_version: 3.12.0
github_url: https://github.com/revenuecat/purchases-ios
github_file_prefix: https://github.com/revenuecat/purchases-ios/tree/3.12.0-SNAPSHOT
github_file_prefix: https://github.com/revenuecat/purchases-ios/tree/3.12.0
output: docs
# Leaving this commented out. We used to specify this before, but now it's working without it
# xcodebuild_arguments: [--objc,Purchases/Public/Purchases.h,--,-x,objective-c,-isysroot,$(xcrun --show-sdk-path),-I,$(pwd)]
3 changes: 2 additions & 1 deletion .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@ excluded:
- Examples
- IntegrationTests
- StoreKitTests
- vendor
disabled_rules:
- trailing_comma
identifier_name:
max_length:
warning: 60
error: 80
error: 80
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.12.0-SNAPSHOT
3.12.0
62 changes: 58 additions & 4 deletions CHANGELOG.latest.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,58 @@
- Updates log message for `createAlias` to improve clarity
https://github.com/RevenueCat/purchases-ios/pull/498
- Adds `rc_` to all Foundation extensions to prevent name collisions
https://github.com/RevenueCat/purchases-ios/pull/500

### Identity V3:
Copy link
Member Author

@aboedo aboedo Jul 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was a tough list to compile. We usually make releases much more often, and we should continue to release often.


#### New methods
- Introduces `logIn`, a new way of identifying users, which also returns whether a new user has been registered in the system.
`logIn` uses a new backend endpoint.
- Introduces `logOut`, a replacement for `reset`.

#### Deprecations
- deprecates `createAlias` in favor of `logIn`
- deprecates `identify` in favor of `logIn`
- deprecates `reset` in favor of `logOut`
- deprecates `allowSharingAppStoreAccount` in favor of dashboard-side configuration

https://github.com/RevenueCat/purchases-ios/pull/453
https://github.com/RevenueCat/purchases-ios/pull/438
https://github.com/RevenueCat/purchases-ios/pull/506


### Other changes:

#### Public additions
##### SharedPurchases nullability
- Fixed `sharedPurchases` nullability
- Introduced new property, `isConfigured`, that can be used to check whether the SDK has been configured and `sharedPurchases` won't be `nil`.
https://github.com/RevenueCat/purchases-ios/pull/508

##### Improved log handling
- Added new property `logLevel`, which provides more granular settings for the log level. Valid values are `debug`, `info`, `warn` and `error`.
- Added new method, `setLogHandler`, which allows developers to use their own code to handle logging, and integrate their existing systems.
https://github.com/RevenueCat/purchases-ios/pull/481
https://github.com/RevenueCat/purchases-ios/pull/515


#### Deprecations
- Deprecated `debugLogsEnabled` property in favor of `LogLevel`. Use `Purchases.logLevel = .debug` as a replacement.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should update the instructions at this link: https://docs.revenuecat.com/docs/debugging


#### Other

- Fixed CI issues with creating pull requests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i haven't typically included these kinds of changes, but i kinda like that you did...

https://github.com/RevenueCat/purchases-ios/pull/504
- Improved Github Issues bot behavior
https://github.com/RevenueCat/purchases-ios/pull/507
- Added e-tags to reduce network traffic usage
https://github.com/RevenueCat/purchases-ios/pull/509
- Fixed a warning in Xcode 13 with an outdated path in Package.swift
https://github.com/RevenueCat/purchases-ios/pull/522
- Switched to Swift Package Manager for handling dependencies for test targets.
https://github.com/RevenueCat/purchases-ios/pull/527
- Removed all `fatalError`s from the codebase
https://github.com/RevenueCat/purchases-ios/pull/529
https://github.com/RevenueCat/purchases-ios/pull/527
- Updated link for error message when UserDefaults are deleted outside the SDK
https://github.com/RevenueCat/purchases-ios/pull/531
- Improved many of the templates and added `CODE_OF_CONDUCT.md` to make contributing easier
https://github.com/RevenueCat/purchases-ios/pull/534
https://github.com/RevenueCat/purchases-ios/pull/537
https://github.com/RevenueCat/purchases-ios/pull/589
60 changes: 60 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,63 @@
## 3.12.0

### Identity V3:

#### New methods
- Introduces `logIn`, a new way of identifying users, which also returns whether a new user has been registered in the system.
`logIn` uses a new backend endpoint.
- Introduces `logOut`, a replacement for `reset`.

#### Deprecations
- deprecates `createAlias` in favor of `logIn`
- deprecates `identify` in favor of `logIn`
- deprecates `reset` in favor of `logOut`
- deprecates `allowSharingAppStoreAccount` in favor of dashboard-side configuration

https://github.com/RevenueCat/purchases-ios/pull/453
https://github.com/RevenueCat/purchases-ios/pull/438
https://github.com/RevenueCat/purchases-ios/pull/506


### Other changes:

#### Public additions
##### SharedPurchases nullability
- Fixed `sharedPurchases` nullability
- Introduced new property, `isConfigured`, that can be used to check whether the SDK has been configured and `sharedPurchases` won't be `nil`.
https://github.com/RevenueCat/purchases-ios/pull/508

##### Improved log handling
- Added new property `logLevel`, which provides more granular settings for the log level. Valid values are `debug`, `info`, `warn` and `error`.
- Added new method, `setLogHandler`, which allows developers to use their own code to handle logging, and integrate their existing systems.
https://github.com/RevenueCat/purchases-ios/pull/481
https://github.com/RevenueCat/purchases-ios/pull/515


#### Deprecations
- Deprecated `debugLogsEnabled` property in favor of `LogLevel`. Use `Purchases.logLevel = .debug` as a replacement.

#### Other

- Fixed CI issues with creating pull requests
https://github.com/RevenueCat/purchases-ios/pull/504
- Improved Github Issues bot behavior
https://github.com/RevenueCat/purchases-ios/pull/507
- Added e-tags to reduce network traffic usage
https://github.com/RevenueCat/purchases-ios/pull/509
- Fixed a warning in Xcode 13 with an outdated path in Package.swift
https://github.com/RevenueCat/purchases-ios/pull/522
- Switched to Swift Package Manager for handling dependencies for test targets.
https://github.com/RevenueCat/purchases-ios/pull/527
- Removed all `fatalError`s from the codebase
https://github.com/RevenueCat/purchases-ios/pull/529
https://github.com/RevenueCat/purchases-ios/pull/527
- Updated link for error message when UserDefaults are deleted outside the SDK
https://github.com/RevenueCat/purchases-ios/pull/531
- Improved many of the templates and added `CODE_OF_CONDUCT.md` to make contributing easier
https://github.com/RevenueCat/purchases-ios/pull/534
https://github.com/RevenueCat/purchases-ios/pull/537
https://github.com/RevenueCat/purchases-ios/pull/589

## 3.11.1
- Updates log message for `createAlias` to improve clarity
https://github.com/RevenueCat/purchases-ios/pull/498
Expand Down
4 changes: 2 additions & 2 deletions Examples/MagicWeather/MagicWeather.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -451,8 +451,8 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/RevenueCat/purchases-ios.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 3.12.0-SNAPSHOT;
branch = main;
kind = branch;
};
};
/* End XCRemoteSwiftPackageReference section */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"package": "Purchases",
"repositoryURL": "https://github.com/RevenueCat/purchases-ios.git",
"state": {
"branch": null,
"revision": "9e31fb34880e77c598c2f1058b71b3b321f8ff4c",
"version": "3.12.0-beta.1"
"branch": "main",
"revision": "9581bcc9049efe52ae7e4d4e5924cb69169fd368",
"version": null
}
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -418,8 +418,8 @@
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/RevenueCat/purchases-ios.git";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 3.12.0-SNAPSHOT;
branch = main;
kind = branch;
};
};
/* End XCRemoteSwiftPackageReference section */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"package": "Purchases",
"repositoryURL": "https://github.com/RevenueCat/purchases-ios.git",
"state": {
"branch": null,
"revision": "9e31fb34880e77c598c2f1058b71b3b321f8ff4c",
"version": "3.12.0-beta.1"
"branch": "main",
"revision": "9581bcc9049efe52ae7e4d4e5924cb69169fd368",
"version": null
}
}
]
Expand Down
102 changes: 102 additions & 0 deletions IntegrationTests/SPMIntegration/fastlane/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
fastlane documentation
================
# Installation

Make sure you have the latest version of the Xcode command line tools installed:

```
xcode-select --install
```

Install _fastlane_ using
```
[sudo] gem install fastlane -NV
```
or alternatively using `brew install fastlane`

# Available Actions
### update_swift_package_commit
```
fastlane update_swift_package_commit
```
Update swift package commit

----

## iOS
### ios setup_dev
```
fastlane ios setup_dev
```
Setup development environment
### ios test
```
fastlane ios test
```
Runs all the tests
### ios bump
```
fastlane ios bump
```
Increment build number
### ios bump_and_update_changelog
```
fastlane ios bump_and_update_changelog
```
Increment build number and update changelog
### ios github_release
```
fastlane ios github_release
```
Make github release
### ios create_sandbox_account
```
fastlane ios create_sandbox_account
```
Create sandbox account
### ios deployment_checks
```
fastlane ios deployment_checks
```
Deployment checks
### ios carthage_archive
```
fastlane ios carthage_archive
```
Run the carthage archive steps to prepare for carthage distribution
### ios archive
```
fastlane ios archive
```
archive
### ios replace_api_key_integration_tests
```
fastlane ios replace_api_key_integration_tests
```
replace API KEY for integration tests
### ios deploy
```
fastlane ios deploy
```
Deploy
### ios prepare_next_version
```
fastlane ios prepare_next_version
```
Prepare next version
### ios export_xcframework
```
fastlane ios export_xcframework
```
Export XCFramework
### ios storekit_tests
```
fastlane ios storekit_tests
```
Run StoreKitTests

----

This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
4 changes: 2 additions & 2 deletions Purchases.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "Purchases"
s.version = "3.12.0-SNAPSHOT"
s.version = "3.12.0"
s.summary = "Subscription and in-app-purchase backend service."

s.description = <<-DESC
Expand All @@ -22,7 +22,7 @@ Pod::Spec.new do |s|
s.tvos.deployment_target = '9.0'

s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.dependency 'PurchasesCoreSwift', '3.12.0-SNAPSHOT'
s.dependency 'PurchasesCoreSwift', '3.12.0'


s.source_files = ['Purchases/**/*.{h,m}']
Expand Down
5 changes: 3 additions & 2 deletions Purchases.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,7 @@
352629FA1F7C4B9100C04F2C /* Frameworks */,
352629FB1F7C4B9100C04F2C /* Headers */,
352629FC1F7C4B9100C04F2C /* Resources */,
B385A1532674324500C6F132 /* ShellScript */,
B385A1532674324500C6F132 /* Swiftlint */,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a name for the script so it's easier to understand which one it is if it fails

);
buildRules = (
);
Expand Down Expand Up @@ -1633,7 +1633,7 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
B385A1532674324500C6F132 /* ShellScript */ = {
B385A1532674324500C6F132 /* Swiftlint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
Expand All @@ -1642,6 +1642,7 @@
);
inputPaths = (
);
name = Swiftlint;
outputFileListPaths = (
);
outputPaths = (
Expand Down
2 changes: 1 addition & 1 deletion Purchases/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>3.12.0-SNAPSHOT</string>
<string>3.12.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
Expand Down
2 changes: 1 addition & 1 deletion Purchases/Misc/RCSystemInfo.m
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ + (BOOL)isSandbox {
}

+ (NSString *)frameworkVersion {
return @"3.12.0-SNAPSHOT";
return @"3.12.0";
}

+ (NSString *)systemVersion {
Expand Down
Loading