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

Feedback wanted: BCD release notes #13229

Closed
Elchi3 opened this issue Nov 1, 2021 · 6 comments
Closed

Feedback wanted: BCD release notes #13229

Elchi3 opened this issue Nov 1, 2021 · 6 comments
Labels
question Issues where a question or problem is stated and a discussion is held to gather opinions.

Comments

@Elchi3
Copy link
Member

Elchi3 commented Nov 1, 2021

Hi all,

please take a look at the release notes https://github.com/mdn/browser-compat-data/blob/main/RELEASE_NOTES.md

Do you read the release notes regularly?
Which information is useful to you?

Do you make use of the "Notable changes" lists? It often talks about renames and removals like so:

  • "api.BaseAudioContext.createPeriodicWave.disableNormalisation_supported was renamed to api.BaseAudioContext.createPeriodicWave.constraints_disableNormalization_parameter"
  • "The following non-existent, long-removed, or otherwise irrelevant features have been removed: api.Element.overflow_event"

Do you make use of the statistics section?

10 contributors have changed 111 files with 1,162 additions and 946 deletions in 60 commits (v4.0.7...v4.0.8)
13,390 total features
815 total contributors
3,631 total stargazers

We would like to automate releases some more and your feedback helps us to determine the importance of the information in BCD release notes. Thanks!

@queengooborg queengooborg added the question Issues where a question or problem is stated and a discussion is held to gather opinions. label Nov 1, 2021
@mahozad
Copy link

mahozad commented Nov 3, 2021

I'm talking about the GitHub releases not the RELEASE_NOTES.md file.

I have subscribed to "Release" notifications of my favorite projects and repositories on GitHub, including this repository.

Although it's been some time since I worked on Web projects, I regularly check my GitHub notifications (when there is a blue dot on the bell icon) for these release notes, and I love to see them.

It has become like an RSS feed reader for libraries/projects changelog, new features etc.
Please keep them coming.

This article is related.

As a side note, I have written a GitHub workflow job for one of my own libraries that automatically generates the release notes from the repository CHANGELOG.md file (and also creates the showcase APK) so I do not have to create the release notes for GitHub releases again and by myself.

Also, as you probably know, there are ready-to-use GitHub actions like this for that purpose.

@meduzen
Copy link

meduzen commented Nov 3, 2021

I consume the data of this repository for canistop.net using automation, and like @mahozad I’ve subscribed to “releases” notifications.

I’m interested by any potentially breaking change in the structure of the browsers data.

So, when reading the release note, that’s the single thing I’m looking for. As such, it would be great if the “scope” of each entry could be highlighted.

For example, in the 4.0.0 all “notable changes” are listed without distinction. Taking a subset, it roughly looks like this:

Notable changes

I think having just the scope/type of change i front of each entry would help me to scan and picture what the release is all about. A bit like this:

Notable changes

  • [Browsers data] The schema for browser release data now supports the optional accepts_flags boolean hint, which indicates whether a browser (or individual release) should contain flags data. Presently, this is a hint for data contributors or tools. The value of accepts_flags doesn't (yet) make any guarantees about the contents of feature data. (Add accepts_flags to the browsers schema as an optional hint #11286)
  • [Web API] Descendant features of api.HTMLCanvasElement.getContext and api.HTMLCanvasElement.toBlob have been reorganized to follow the guideline for parameter object features. See the PR for a detailed list of features affected. (Fix feature structure of HTMLCanvasElement API (and correct version numbers) #11234)
  • [Web API] The following features were lower-cased for consistency with other feature names: (Fix some subfeature names that were unnecessarily uppercased #11961)
    • api.CanvasRenderingContext2D.drawImage.Smoothing_downscaling (now smoothing_downscaling)
    • api.OfflineAudioContext.OfflineAudioContext.Parameters_accepted_in_an_object (now parameters_accepted_in_an_object)

@j-m
Copy link

j-m commented Nov 10, 2021

As a consumer, these release notes are vital but could use a cleanup, imo:

Notable changes -> Breaking changes and say what happened with each, even if repeated

i.e.

Notable changes
The following non-existent, long-removed, or otherwise irrelevant features have been removed:
api.MediaSettingsRange (#13373)
api.ProcessingInstruction.data (#13388)
http.headers.Feature-Policy.vibrate (#13278)
http.headers.Feature-Policy.vr (#13260)

becomes

Breaking changes
Removed api.MediaSettingsRange (#13373)
Removed api.ProcessingInstruction.data (#13388)
Removed http.headers.Feature-Policy.vibrate (#13278)
Removed http.headers.Feature-Policy.vr (#13260)

But definitely keep it short and sweet with a link to each PR.

I would also recommend including new features and fixes, too, as some people pay pin the package to ~ and exact (not just to the default ^) and in all honesty seeing "known issues" in a >1 versioned library is worrying; if something is still in progress then either don't merge it or reduce its scope.

But, seeing as you're following semver, I would strongly recommend adopting the conventional commits standard and completely automate the process with one of the well established change-log generators:

As impressive as the stats are, I don't think the changelog is the right place for them, perhaps go bananas with it and include a interactive graph in your docs somewhere. I know they're at the bottom of each release but if, like me, you rarely update this package then that's a lot of extra fluff to scroll through when you're jumping several versions (on both https://github.com/mdn/browser-compat-data/releases and https://github.com/mdn/browser-compat-data/blob/main/RELEASE_NOTES.md)

@ddbeck
Copy link
Collaborator

ddbeck commented Nov 17, 2021

Thanks for the feedback that's already appeared so far. It's quite interesting and valuable! I've made one last call for feedback before we start changing things up, but it sounds like there's lots of opportunities to improve things, even without a lot of effort up front. For example, I generated a list of changes for the latest release (with a very, very rough looking set of shell scripts).

cc: @Elchi3

Example generated notes for v4.0.11

Removals in this version

  • Removed api.MediaStreamAudioSourceOptions (#13523)
  • Removed api.MediaStreamAudioSourceOptions.mediaStream (#13523)
  • Removed api.PhotoCapabilities (#13479)
  • Removed api.PhotoCapabilities.fillLightMode (#13479)
  • Removed api.PhotoCapabilities.imageHeight (#13479)
  • Removed api.PhotoCapabilities.imageWidth (#13479)
  • Removed api.PhotoCapabilities.redEyeReduction (#13479)
  • Removed api.Range.insertNode.collapsed_ranges (#13424)
  • Removed api.XMLHttpRequest.readyState.constants (#12879)
  • Removed css.types.calc.color_values (#13486)

Additions in this version

  • Added api.AudioData.timestamp (#13390)
  • Added api.AudioDecoder.isConfigSupported (#13391)
  • Added api.AudioEncoder.flush (#13397)
  • Added api.AudioEncoder.isConfigSupported (#13393)
  • Added api.DeviceMotionEvent.requestPermission (#13398)
  • Added api.DeviceOrientationEvent.requestPermission (#13398)
  • Added api.HTMLMetaElement.media (#13452)
  • Added api.HTMLOutputElement.HTMLOutputElement (#13453)
  • Added api.ImageData.colorSpace (#13454)
  • Added api.ImageDecoder.decode (#13455)
  • Added api.ImageDecoder.isTypeSupported (#13456)
  • Added api.Ink (#13457)
  • Added api.Ink.requestPresenter (#13457)
  • Added api.MediaSession.setCameraActive (#13460)
  • Added api.MediaSession.setMicrophoneActive (#13460)
  • Added api.Navigator.ink (#13457)
  • Added api.Navigator.pdfViewerEnabled (#13458)
  • Added api.Navigator.virtualKeyboard (#13464)
  • Added api.NavigatorUAData.platform (#13465)
  • Added api.NavigatorUAData.toJSON (#13465)
  • Added api.PermissionStatus.name (#13466)
  • Added api.Profiler (#13462)
  • Added api.Profiler.Profiler (#13462)
  • Added api.Profiler.sampleInterval (#13462)
  • Added api.Profiler.stop (#13462)
  • Added api.Profiler.stopped (#13462)
  • Added api.Scheduler (#13463)
  • Added api.Scheduler.postTask (#13463)
  • Added api.SpeechSynthesisEvent.elapsedTime.milliseconds (#13236)
  • Added api.TaskController (#13463)
  • Added api.TaskController.setPriority (#13463)
  • Added api.TaskController.TaskController (#13463)
  • Added api.TaskPriorityChangeEvent (#13463)
  • Added api.TaskPriorityChangeEvent.previousPriority (#13463)
  • Added api.TaskPriorityChangeEvent.TaskPriorityChangeEvent (#13463)
  • Added api.TaskSignal (#13463)
  • Added api.TaskSignal.onprioritychange (#13463)
  • Added api.TaskSignal.priority (#13463)
  • Added api.VideoDecoder.isConfigSupported (#13467)
  • Added api.VideoEncoder.flush (#13468)
  • Added api.VideoEncoder.isConfigSupported (#13468)
  • Added api.VideoFrame.copyTo (#13469)
  • Added api.VirtualKeyboard (#13464)
  • Added api.VirtualKeyboard.boundingRect (#13464)
  • Added api.VirtualKeyboard.hide (#13464)
  • Added api.VirtualKeyboard.ongeometrychange (#13464)
  • Added api.VirtualKeyboard.overlaysContent (#13464)
  • Added api.VirtualKeyboard.show (#13464)
  • Added javascript.builtins.Array.findLast (#13370)
  • Added javascript.builtins.Array.findLastIndex (#13370)
  • Added javascript.builtins.Error.Error.fileName_parameter (#13172)
  • Added javascript.builtins.Error.Error.lineNumber_parameter (#13172)
  • Added javascript.builtins.TypedArray.findLast (#13370)
  • Added javascript.builtins.TypedArray.findLastIndex (#13370)

@ddbeck
Copy link
Collaborator

ddbeck commented Nov 26, 2021

The most recent release used a mostly-generated process. See https://github.com/mdn/browser-compat-data/releases/tag/v4.0.12.

@ddbeck
Copy link
Collaborator

ddbeck commented Dec 29, 2021

It's been a while without further commentary on releases. I'm going to close this, though work continues on improving our release process. Thanks, everyone!

@ddbeck ddbeck closed this as completed Dec 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Issues where a question or problem is stated and a discussion is held to gather opinions.
Projects
None yet
Development

No branches or pull requests

7 participants
@ddbeck @Elchi3 @queengooborg @meduzen @j-m @mahozad and others