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

Is there no backwards compatibility with this package? #4065

Closed
ethanneff opened this issue Sep 3, 2024 · 3 comments
Closed

Is there no backwards compatibility with this package? #4065

ethanneff opened this issue Sep 3, 2024 · 3 comments

Comments

@ethanneff
Copy link

Every time this package updates, the previous version breaks. This has happened twice this month.

pod install
Installing Sentry (8.34.0)


[!] [Codegen] warn: using experimental new codegen integration
[!] Error installing Sentry
[!] /opt/homebrew/bin/git clone https://github.com/getsentry/sentry-cocoa.git /var/folders/m4/5dz5h26x329cqq4fx333f8gm0000gn/T/d20240902-3504-x2oxi7 --template= --single-branch --depth 1 --branch 8.34.0

Cloning into '/var/folders/m4/5dz5h26x329cqq4fx333f8gm0000gn/T/d20240902-3504-x2oxi7'...
warning: Could not find remote branch 8.34.0 to clone.
fatal: Remote branch 8.34.0 not found in upstream origin
@kahest
Copy link
Member

kahest commented Sep 3, 2024

Hey @ethanneff as mentioned here, we decided to deprecate sentry-cocoa release 8.33.0 and 8.34.0 due to some reports of potential crashes. Please update to @sentry/react-native 5.31.0+.

To your question in the title - this package is usually always fully backwards compatible compatible, this is the first time we made releases unavailable as a precaution. If you encountered a similar issue recently it must be a different issue. We're happy to look into it if you have more information.

@navignaw
Copy link

navignaw commented Sep 4, 2024

Hey @ethanneff as mentioned here, we decided to deprecate sentry-cocoa release 8.33.0 and 8.34.0 due to some reports of potential crashes. Please update to @sentry/react-native 5.31.0+.

To your question in the title - this package is usually always fully backwards compatible compatible, this is the first time we made releases unavailable as a precaution. If you encountered a similar issue recently it must be a different issue. We're happy to look into it if you have more information.

Hi @kahest, I completely understand the desire to deprecate old versions due to reports of crashes. However, I believe that package stability is incredibly important. When attempting to debug an issue between two different builds, we often want to go back in time and rebuild an older package to see if we can reproduce an issue. Unfortunately, I discovered today that running this sort of git bisect is impossible, because all of the old builds on older versions of @sentry/react-native have stopped working due to this deprecation.

In the future, I would love if there is an alternate way to deprecate old packages, or if your team could communicate some sort of deprecation timeline. For example, some packages print a giant verbose warning if you use an older version. Alternatively, you could move the deprecation up to this package - for example, release a new @sentry/react-native@5.31 and then deprecate the versions prior to 5.31, but leave the base sentry-cocoa release untouched.

Happy to continue this in the Discussions tab. No harm done for this deprecation, just hoping for better communication or process in the future!

@kahest
Copy link
Member

kahest commented Sep 4, 2024

@navignaw thanks for your understanding and the input, it's definitely appreciated.

Since sentry-cocoa was the root cause for the deprecation, we wanted to make sure that the specific releases are not used inadvertently anymore, so we renamed the release and the tags - but we didn't remove them. You should still be able to point your RN build to the specific tag by defining the dependency in your iOS app's podfile (where use_react_native is called) like so:

pod 'Sentry/HybridSDK', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.33.0-Deprecated'
(for @sentry/react-native 5.28.0 and 5.29.0)

pod 'Sentry/HybridSDK', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.34.0-Deprecated'
(for @sentry/react-native 5.30.0)

Hope this helps!

Note that we set the respective @sentry/react-native releases as deprecated on npm, so you should get warnings when trying to build using them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

No branches or pull requests

3 participants