Moves Instant properties to :purchases-kmp-core#514
Conversation
tonidero
left a comment
There was a problem hiding this comment.
Looks great! Thanks for handling this 🎉
| ios-deploymentTarget-ui = "15.0" | ||
| java = "1.8" | ||
| kotlin = "2.1.10" | ||
| kotlin = "2.1.21" |
There was a problem hiding this comment.
Nitpick. I don't see anything that could cause issues in the changes here, but would it be worth extracting this to a separate PR? Mostly so it shows in the changelog separately and it's clearer when the bump happened.
There was a problem hiding this comment.
That's a great idea! Separate PR is here: #515.
| * * For Amazon subscriptions, productsIds are `termSku`. | ||
| */ | ||
| @ExperimentalTime | ||
| public val allExpirationDates: Map<String, Instant?> by lazy { |
There was a problem hiding this comment.
I see we used the instant naming for these in the previous module, like allExpirationInstants, probably to avoid the naming conflict which would cause a breaking change... I kinda liked that the previous name had the type in it, but I don't see a better alternative, and I think this is probably ok, specially considering it's probably the most common way to represent these now 👍
There was a problem hiding this comment.
Yea, I wanted to avoid a naming conflict indeed. If they're named the same as the deprecated properties, the new properties shadow the deprecated ones. This means that when developers update purchases-kmp to the version this PR gets released in, they would get build errors because of @ExperimentalTime (because they are unknowingly using the new properties).
:purchases-kmp-core:purchases-kmp-core
Description
Round 2 of #469, this time without breaking changes!
kotlinx.datetime.Instantproperties in:purchases-kmp-datetime, andkotlin.time.Instantproperties in:purchases-kmp-core(via:purchases-kmp-models).Also updates the patch version of Kotlin to 2.1.21. We need 2.1.20 for
kotlin.time.Instant. 2.1.21 gives us Xcode 16.3 compatibility, up from 16.0.Closes #468