-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[breaking change] Change SecurityContext
to an abstract final class
#55786
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
Labels
area-core-library
SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries.
breaking-change-approved
breaking-change-request
This tracks requests for feedback on breaking changes
library-io
Comments
SGTM! |
@vsmenon @Hixie @leonsenft fresh breaking change request |
LGTM |
seems reasonable |
@vsmenon can you look at this breaking change and decide. |
@vsmenon I'm going to assume that we are good with this ;-) |
@brianquinlan i am marking this breaking change as approved. |
copybara-service bot
pushed a commit
that referenced
this issue
Jul 1, 2024
Bug:#55786 Change-Id: I351ddb7f39d2ac9ee032bdf88ef6d524c97f8402 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/370703 Reviewed-by: Sigmund Cherem <[email protected]> Reviewed-by: Leaf Petersen <[email protected]> Reviewed-by: Alexander Aprelev <[email protected]> Reviewed-by: Martin Kustermann <[email protected]> Commit-Queue: Brian Quinlan <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-core-library
SDK core library issues (core, async, ...); use area-vm or area-web for platform specific libraries.
breaking-change-approved
breaking-change-request
This tracks requests for feedback on breaking changes
library-io
Change Intent
The intent is to change the
dart:io
SecurityContext
class, used to control the security aspects of a socket connection, from aninterface class
to anabstract final class
.Justification
A user-implemented
SecurityContext
cannot be used in place of thedart:io
implementation because the Dart TLS implementation depends on C++ data structures found only in its implementation.Making
SecurityContext
final
also makes it easier for the Dart team to modify in the future e.g. #55679Impact
This change will break anyone who
implements SecurityContext
. On GitHub, I only found two such instances, and both were in tests that just raise if aSecurityContext
method is called e.g. https://github.com/platform-platform/universal_io/blob/37e2dfcae32156b28477365e9dcf357d583098e5/packages/universal_io/lib/src/driver/driver_impl_vm.dart#L499Mitigation
Developers must modify (or remove) all classes that
implement SecurityContext
.Change Timeline
Remove in Dart 3.5
Associated CLs
No response
The text was updated successfully, but these errors were encountered: