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

Release: 3.12.0 #648

merged 9 commits into from
Jul 15, 2021

Conversation

aboedo
Copy link
Member

@aboedo aboedo commented Jul 13, 2021

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

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.
    Fix: sharedPurchases nullability #508
Improved log handling

Deprecations

  • Deprecated debugLogsEnabled property in favor of LogLevel. Use Purchases.logLevel = .debug as a replacement.

Other

@aboedo aboedo requested a review from a team July 13, 2021 19:58
@aboedo aboedo self-assigned this Jul 13, 2021
- 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.

@@ -0,0 +1,21 @@
# This script is needed to use Carthage in Xcode 12, since it currently has a compatibility issue
Copy link
Member Author

Choose a reason for hiding this comment

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

turns out we still need this one, unfortunately.

Copy link
Contributor

Choose a reason for hiding this comment

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

😢

Comment on lines +73 to +75
- run:
name: Install swiftlint
command: brew install 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.

this was missing for some jobs

@@ -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)

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

NS_SWIFT_NAME(createAlias(_:_:));
NS_SWIFT_NAME(createAlias(_:_:)) __attribute((deprecated("Use logIn instead.")));
Copy link
Member Author

Choose a reason for hiding this comment

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

Deprecated this one. We had it removed at one point, but I think it got re-added in some rebase.
Since we're not doing a major, we should have it but deprecated.

Comment on lines +215 to +216
desc "Update swift package commit"
lane :update_swift_package_commit do
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 used to live directly in the Fastfile for the SPMIntegration integration test project, but I moved it here since it's usable by more targets.

Comment on lines +257 to +263
# As of Carthage 0.38.0, we still can't archive xcframeworks directly.
# there are also some issues which prevent us from archiving frameworks directly, since
# carthage can't deal with architectures for simulators and for Apple Silicon correctly.
# We use this script as a workaround until this is fixed.
# https://github.com/Carthage/Carthage/releases/0.38.0
sh("./scripts/carthage.sh", "build", "--no-skip-current")
sh("./scripts/carthage.sh", "archive", "Purchases")
Copy link
Member Author

Choose a reason for hiding this comment

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

sad times.

@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>3.12.0</string>
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we add this to the prepare release lane?

Copy link
Member Author

Choose a reason for hiding this comment

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

do you mean prepare_next_version, deploy or something else?
for prepare_next_version, this will automatically get bumped by increase_version_number.
for deploy, we want to just deploy whatever is in the tag

Copy link
Contributor

Choose a reason for hiding this comment

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

I meant increase_version_number, if it does it automatically perfect then 👍



#### 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...

@aboedo aboedo merged commit 0b890a7 into main Jul 15, 2021
@aboedo aboedo deleted the release/3.12.0 branch July 15, 2021 14:26
aboedo added a commit that referenced this pull request Jul 21, 2021
* Create CODE_OF_CONDUCT.md (#589)

Resolves #588

* Update issue templates (#537)

* Update issue templates

Looks like GitHub wants this named differently 🤷‍♂️

* Delete migration_task.md

* Update custom.md

* Update README.md (#636)

Just removing the outdated image on the readme

* ETags support (#509)

* identity v3: public-facing changes (#453)

* re-added the public-facing changes for identity v3

* updated nullability for errors in login

* temporarily removed version from PurchasesCoreSwift in Purchases.podspec

* updated sample app to use identity v3

* improved copy in RCPurchases.h

* Integration tests: Identity v3 test cases (#506)

* added extra test case for storekit tests

* added more test cases

* added a few more test cases

* slight cleanup

* added another, particularly gnarly test case

* updated test case name

* added another test case

* one more test case

* refactors and cleanups, made chained calls more reliable for one test case

* fixed name, added debug information to appUserIDs

* fixed issue with test clearing transactions when it shouldn't

* formatting

* code cleanup

* update call to replace api key and proxy url to catch issues if proxy url is empty

* updated syntax since lanes are executed in a block

* updated xcode and simulator versions for storekitTests

* updated syntax for setting log levels

* fixed fastlane changes that broke replace_in for storekit_tests

* update fastlane

* improvements from PR comments

* restricted storekit_tests to release tags and branches

* removed signing for storekittest app since it only runs in simulator

* removed storekitTestCertificate.cer since it's not needed, re-added tests just in case

* restricted storekit_tests to release branches and tags again now that they passed

* Bump addressable in /IntegrationTests/CocoapodsIntegration (#647)

Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](sporkmonger/addressable@addressable-2.7.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* remove unused typedef to fix build warning (#649)

* Release: 3.12.0 (#648)

* looks like in some rebase createAlias got un-deprecated, re-deprecated it

* updated changelog and version number to 3.12.0

* added missing PR for identity v3 in changelog

* added install swiflint step to more ci jobs

* fix typo in circleci config.yml

* updated the name of the swiftlint step in xcode so it's more obvious at first glance when it fails

* fixed an issue where a few targets wouldn't compile correctly when doing carthage archive because they were pointing to unreleased versions of Purchases.

* re-added the old carthage script for archives

* added `vendor` folder to excluded directories for swiftlint

* Preparing for next version (#656)

Co-authored-by: Andy Boedo <andresboedo@gmail.com>

* added swiftlint installation to all places that were missing it (#657)

* Release: 3.12.1 (#659)

* renamed eTagInResponse -> maybeEtagInResponse to resolve conflict in some versions of Xcode

* updated version number to 3.12.1 and changelog

* added `scan_derived_data` to excluded directories for swiftlint

* Preparing for next version (#661)

Co-authored-by: Distiller <distiller@static.38.39.178.68.cyberlynk.net>

* Fix: Calling `setDebugLogsEnabled(false)` enables debug logs when it should not (#663)

* fixed a bug where setting debugLogsEnabled = false would still set them to true

* cleanup: replaced if / else with ternary operator

* reverted changes in SystemInfo initialization

* format fixes

* removed rchttpRequest

* updated call in `buildTvWatchAndMacOS`: install-gems -> install-dependencies

* undo accidental whitespace

* deleted empty RCSystemInfo.m file

Co-authored-by: Joshua Liebowitz <taquitos@users.noreply.github.com>
Co-authored-by: Corey Rabazinski <6013553+CoreyRab@users.noreply.github.com>
Co-authored-by: Cesar de la Vega <cesarvegaro@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: revenuecat-ops <60164957+revenuecat-ops@users.noreply.github.com>
Co-authored-by: Distiller <distiller@static.38.39.178.68.cyberlynk.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants