feat(schemas/browser)!: changes releases from object to array#26061
feat(schemas/browser)!: changes releases from object to array#26061
Conversation
38ab64f to
65aee0b
Compare
|
Honestly, I'd love to try and find an alternate solution if we can. I feel that since consumers can access the order through other means (either comparing version numbers or release dates, depending on their use of Node.js data), I'm cautiously skeptical about changing the data structure this much. |
|
@queengooborg In #21124, I put forward some alternatives, which have their own share of difficulties. It'd be helpful if you could read and respond to the inciting issue. @caugner one thing Philip raised as a possibility on the original issue is tests that assert that "dates are strictly increasing and that the order matches that which compare-versions produces." Would it be too much to ask to add these tests? I think both of these would be a good idea, to make explicit the assumptions that we've held historically and relied on to transform the objects to arrays. |
@ddbeck If I understand you correctly, then this assumption already doesn't hold for Node.js releases: We could enforce it for other browsers, though, if that's an acceptable compromise from your side? @Elchi3 What's your opinion here? |
|
I think that would be a good enforcement and if we need to exclude nodejs from that rule, that's okay, too. |
|
After talking with Claas about this PR today, I wrote some possible release notes text that someone is welcome to use/rewrite, if this merges:
|
|
This pull request has merge conflicts that must be resolved before it can be merged. |
Ran `npx tsx scripts/migrations/013-releases-to-array.ts` # Conflicts: # browsers/chrome.json # browsers/chrome_android.json # browsers/webview_android.json
65aee0b to
26c6aa0
Compare
|
@queengooborg I mentioned the status of this PR to @fiji-flo, and he suggested to provide the release array in addition to the release object in the BCD build. Would this compromise work for you? |
|
In today's BCD meeting, we decided not to include this change in BCD 6.0 as we consider alternative approaches. So I have removed it from the milestone, and I'm now closing this PR for now. |
Summary
Breaking change: Changes the
browsers.*.releasesproperty from an object to an array, moving the version number inside theReleaseStatement.Test results and supporting details
Related issues
Fixes #21124.