Changes for major version 9 #2946
Replies: 24 comments 34 replies
-
Integration installation. Per #2941, we dynamically construct integrations based on a list of strings representing their class names. This technically allows for customers to inject their own custom integration classes. It's not clear if this should be supported, how it would work, or what benefit customers can gain from doing so. The dynamic strategy also discards type safety. We should not do so for the sake of our own convenience. We should figure out a way to do this with a simple API that doesn't rely on stringly typed logic. It should be enough for the boolean properties already present on SentryOptions to control which integrations are enabled or disabled. From there we can have a static code sector that sets things up. No need for looping through strings, using |
Beta Was this translation helpful? Give feedback.
-
Rename SentryMechanismMeta to something else different than Meta. See #2888 for discussion. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
Found a |
Beta Was this translation helpful? Give feedback.
-
Remove obsoleted public methods in |
Beta Was this translation helpful? Give feedback.
-
Update sentry-cocoa/.github/workflows/test.yml Line 92 in 3de9971 as that's what's supported in GitHub actions: https://github.com/actions/runner-images/blob/91e422a825d3941ea357a13a91b13d4f4fdc326d/images/macos/macos-11-Readme.md?plain=1#L272 |
Beta Was this translation helpful? Give feedback.
-
Make sampleRate / tracesSampleRate / profilesSampleRate / SentryTracesSamplerCallback nonnull: #3529 (comment) |
Beta Was this translation helpful? Give feedback.
This comment has been minimized.
This comment has been minimized.
-
Remove the deprecated |
Beta Was this translation helpful? Give feedback.
-
Change |
Beta Was this translation helpful? Give feedback.
-
Remove the public access to SentryHub.scope. The scope should only be accessible by customers via SentryHub.scope has a property getter override that contains a If it is imperative to protect the thread safety of the property, we should extract it into its own objc interface that keeps the instance private and only exposes a method to access it in a synchronized way. This would make all callsites that use the scope that require waiting on a lock more obvious that that is what is happening. |
Beta Was this translation helpful? Give feedback.
-
Remove all profiling API deprecated by #4851 |
Beta Was this translation helpful? Give feedback.
-
Make ANRV2 the default ANR detection algorithm. |
Beta Was this translation helpful? Give feedback.
-
Remove initializers and unify default values for options. At this point we have too ways of configuration, which increases complexity of maintenance. See #5210 |
Beta Was this translation helpful? Give feedback.
-
Change |
Beta Was this translation helpful? Give feedback.
-
Change configuration to be a bit more consistent. For example session reply is a simple property Also I think we can do better with preventing invalid configurations. For example app hang tracker doesn't need to be two bools (because what happens when you set both to true?) Instead we can use an enum like disabled/v1/v2 |
Beta Was this translation helpful? Give feedback.
-
Investigate if this issue needs to be done in major due to potential breaking changes: |
Beta Was this translation helpful? Give feedback.
-
We should add a full uninstall mechanism so that when stopping the SDK everything is returned to a clean state incl. swizzling |
Beta Was this translation helpful? Give feedback.
-
Remove custom names in Swift for Objective-C types, e.g. |
Beta Was this translation helpful? Give feedback.
-
Remove |
Beta Was this translation helpful? Give feedback.
-
We can move SentrySerializable to an internal type since the details of how we serialize data doesn't need to be public API. This will let us experiment with other protocols, like Encodable, without having to change the public API |
Beta Was this translation helpful? Give feedback.
-
Remove |
Beta Was this translation helpful? Give feedback.
-
#5401 introduces new settings for screenshot masking which are almost identical to session replay settings. Both should inherit the shared types from a common type, e.g. |
Beta Was this translation helpful? Give feedback.
-
We keep track of issues for 9.0.0 in Linear for now https://linear.app/getsentry/project/cocoa-sdk-900-19a03b661aba/issues. If you want to fix something in 9.0.0 please create a GH issue and assign it to the project. If you want an improvement for 10.0.0 please also create a GH issue and add the breaking change label to it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Let's discuss the breaking changes we'd like to see that are waiting on the next major version, à la #877 and #1094
Ideally we target September for release, to coincide with new versions of Xcode and Apple end-user device OSes.
Beta Was this translation helpful? Give feedback.
All reactions