Closed mokagio closed 1 year ago
cc @bjhomer as you've done lots of work with the library when adding SPM support.
@mokagio one way to overcome this without affecting the current clients is to just provide a default value in a protocol extension — maybe if that's going to be adopted only by some apps might make sense. But the new property it's a minor change so I'm not so worried.
What worries me a bit is how Tracks is becoming more and more coupled to Sentry. I don't have enough context as to the decisions of why, but if we decide to change the crash tool in the future we're in for quite an adventure. But I'm deviating from your original question, so for me, it's ok to cut a 1.0.0
.
are there API signatures that we're unhappy with and should update first?
I've actually been wanting to propose one API change related to A/B test variations. I filed it here.
@leandroalonso:
What worries me a bit is how Tracks is becoming more and more coupled to Sentry. I don't have enough context as to the decisions of why, but if we decide to change the crash tool in the future we're in for quite an adventure. But I'm deviating from your original question, so for me, it's ok to cut a 1.0.0.
That's a good concern. We're trying to keep the implementation agnostic but of course with Sentry being our only crash reporting client, the our API shape kinda is somehow molded on theirs.
@bjhomer awesome, thanks for pointing that out. I don't see any rush in tagging a 1.0.0, so we should definitely iron out any possible breaking change before moving forward with it 👍
one way to overcome this without affecting the current clients is to just provide a default value in a protocol extension — maybe if that's going to be adopted only by some apps might make sense.
Right! I actually didn't consider that option 😅 🤦♂️ I'm biased towards having verbose configurations, so there are no surprises. But ☝️ it would be super helpful to default to .disabled
as an additional safety-net against accidentally enabling the feature and inadvertently blow up cost. Thanks!
I haven't done it yet because I want to investigate what looks to me like incorrect flush
behavior in WooCommerce. If there's a bug, I'd like to fix it before that.
While working on updating Sentry to version 7 and adding support for performance monitoring, I introduced a breaking change in the form of a new required property in
CrashLoggingDataProvider
.This is no big deal. Tracks is an internal library with only a few clients and we control the update process for all of them. The library is also at version
0.x
, and according to SemVer one can expect breaking changes when in this pre release state.Still, it made me wonder if there's any reason why we haven't cut a
1.0.0
version of this library yet and whether it's a good time to do it.What would it take to reach
1.0.0
? Is it just a matter of bumping the major version value and calling it a day, or are there API signatures that we're unhappy with and should update first?