-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
How is runtime/include
versioned?
#51459
Comments
//cc @dcharkes |
Thanks for reporting @blaugold !
That should have been a major version bump in https://github.com/dart-lang/sdk/blob/main/runtime/include/dart_version.h
I only see 8c577c4 added I believe we should reorder the enum values (they are not alphabetically sorted anyway) so that the new ones are at the end, and file a cherry pick for the 2.19 stable and 3.0.0 beta. We've already run into this before:
Issue for tracking standalone file: (A standalone |
Ah, sorry. I had an older copy of the files in |
Hm, I don't think we'd want to cherry pick for 2.15, 2.16, 2.17, and 2.18 as well. The only enum value after |
No, |
https://dart-review.googlesource.com/c/sdk/+/257925 added a new entry in the middle of the `Dart_CObject_Type` enum, which changed the value of the entries below. However, this enum is part of `dart_api_dl.h` and versioned by `dart_version.h`. New entries to `Dart_CObject_Type` should be added at the end of the enum to avoid making breaking changes to the type. TEST=tests/ffi/vmspecific_handle_dynamically_linked_test.dart Bug: #51459 Change-Id: I367b54f62e59ddf925e255bb56c0f8660be7c227 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284161 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>
@dcharkes Is a CP planned for the fix? I don't need one, since I had already released a fix for my package by recompiling with a recent Dart SDK when I opened this issue. When the fix lands, I'll have to recompile and release a new version, so I just wanted to know when I should expect the fix to land. |
Thanks for the ping @blaugold, this had slipped my mind! |
https://dart-review.googlesource.com/c/sdk/+/257925 added a new entry in the middle of the `Dart_CObject_Type` enum, which changed the value of the entries below. However, this enum is part of `dart_api_dl.h` and versioned by `dart_version.h`. New entries to `Dart_CObject_Type` should be added at the end of the enum to avoid making breaking changes to the type. TEST=tests/ffi/vmspecific_handle_dynamically_linked_test.dart Bug: #51459 Bug: #51615 Cherry-Pick: https://dart-review.googlesource.com/c/sdk/+/284161 Change-Id: Ic3e37255bdbc2d75af7b9894a61293c84428e042 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286741 Auto-Submit: Daco Harkes <dacoharkes@google.com> Commit-Queue: Siva Annamalai <asiva@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
https://dart-review.googlesource.com/c/sdk/+/257925 added a new entry in the middle of the `Dart_CObject_Type` enum, which changed the value of the entries below. However, this enum is part of `dart_api_dl.h` and versioned by `dart_version.h`. New entries to `Dart_CObject_Type` should be added at the end of the enum to avoid making breaking changes to the type. TEST=tests/ffi/vmspecific_handle_dynamically_linked_test.dart Bug: #51459 Bug: #51615 Cherry-Pick: https://dart-review.googlesource.com/c/sdk/+/284161 Change-Id: I0afa4128a17e7ef473ae3bbdcef511847fcafcd7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286780 Reviewed-by: Siva Annamalai <asiva@google.com> Auto-Submit: Daco Harkes <dacoharkes@google.com>
While verifying that my package still works with the current stable channel, I ran into an issue where my code broke because of a backwards incompatible change of
Dart_CObject_Type
indart_native_api.h
. Between Dart 2.18 and 2.19 two new enum values were added in a way that changed the order of other values. The code in question is part of a precompiled native library that is shipped with the package.Currently, I'm not sure what the ABI versioning policy of the APIs in
runtime/include
is.Dart_InitializeApiDL
implements an API versioning check, but my understanding is that this is limited to the symbols available throughdart_api_dl.h
.Dart_InitializeApiDL
also does not document the semantics of its return value.The text was updated successfully, but these errors were encountered: