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

4.0.1 #1281

Closed
rvilarl opened this issue Jan 1, 2022 · 19 comments
Closed

4.0.1 #1281

rvilarl opened this issue Jan 1, 2022 · 19 comments
Labels

Comments

@rvilarl
Copy link
Collaborator

rvilarl commented Jan 1, 2022

@0xfe @ronyeh @AaronDavidNewman @mscuthbert @sschmidTU @h-sug1no HappyNew Year! :)

I would like to start a discussion on when to release a 4.0.1. I would suggest to close #1155 this issue is already quite long. There are mainly two topics that I can think of:

  • beta or release
  • content
@rvilarl
Copy link
Collaborator Author

rvilarl commented Jan 1, 2022

Let us make 4.0.1 a release, we will get more feedback from users and they can always decide to stay in 3.0.9 or 1.2.93

Thumbs up release
Thumbs down beta

@rvilarl
Copy link
Collaborator Author

rvilarl commented Jan 1, 2022

Content:

@ronyeh
Copy link
Collaborator

ronyeh commented Jan 1, 2022

Happy New Year!

Sure, I'll close the old 4.0.0 issue to move the discussion here.

Here are several small things I'd like to get into 4.0.1:

  • documentation for build and release
  • documentation for adding fonts
  • tweak the files included in package.json so that flow.html can run directly from unpkg.com. I think this will enhance our ability to do quick manual visual regression checks.
  • fix some of our imports throughout the code base so that ESM tests work.

There are no major things I want to get merged into 4.0.1.

However, I'd still call it a beta until we slow down a bit on the PRs and have a chance to test a single build for a few days without a recent merge possibly introducing unknown issues or circular dependencies. 😂

I assume npm requires us to increment the version number even if it's behind the beta dist tag. So I'd be happy with a succession of quick beta releases: 4.0.1, 4.0.2, just to test out the release script and do sanity checks. If we either merge or set all our PRs to draft, we can all inspect and bless the current build and make a official release 4.0.3 or something. If we discover issues, we can fix and keep incrementing the patch number but without the beta tag.

I'd be happy to manage the release to npm and GitHub if Mohit grants me the npm publish right. (Or Mohit can do it himself if we all declare the official release is ready and we have no PRs we want to merge.) Worst case if we mess something up on an official release, I can bump the patch version number. 😑 I am planning to use the release-it package to help automate some steps for releasing to both npm and GitHub.

https://www.npmjs.com/package/release-it

I've tested release-it on my own npm package and it works great. Let me know if there is an alternative package that you think is better / more popular with the cool kids.

@ronyeh ronyeh mentioned this issue Jan 1, 2022
@ronyeh
Copy link
Collaborator

ronyeh commented Jan 1, 2022

Previous discussion at #1155

@0xfe
Copy link
Owner

0xfe commented Jan 8, 2022

There's going to be at least one major API change that we should document. @ronyeh where do you track the changelog for release?

@rvilarl we should be super clear about the API changes around addDot, addDotToAll, addAnnotation, etc. and have instructions with some before/after examples. This one is mildly disruptive to users, but vastly improves Vexflow's dependency problem.

@0xfe
Copy link
Owner

0xfe commented Jan 8, 2022

Ron, it's cool to bump the patch levels and mark the package as beta.

@ronyeh
Copy link
Collaborator

ronyeh commented Jan 9, 2022

Hi all,

Detailed changelog is on the wiki:

Each notable version will have its own page with a detailed discussion of changes. Smaller version bumps can have their changes added at the top of the page.

Rodrigo, feel free to edit the 4.0 page with the things you recently changed that are not backwards compatible with 3.0.9. You can list them in the Breaking Changes section. You can replace the More / Add Detail Here sections. Don't worry about formatting. Once you're done, let me know and I can rearrange if necessary as this document grows.

We will keep a bullet point summary of changes in the repository, at: https://github.com/0xfe/vexflow/blob/master/CHANGELOG.md

The repo CHANGELOG.md has too much detail at the moment. The extra detail will be moved over into the wiki. The repo doc will always point to the wiki changelog.

@ronyeh
Copy link
Collaborator

ronyeh commented Jan 24, 2022

Hello all,

To test the release script, I just published 4.0.1-alpha.0 to npm and github.

https://github.com/0xfe/vexflow/releases/tag/4.0.1-alpha.0

https://www.npmjs.com/package/vexflow?activeTab=versions

To install in your project, type:

npm install vexflow@alpha

Please let us know if there are any issues! I think we are getting close to a full release. There are currently 5 open PRs. Once those are resolved, I think @0xfe can push the launch button, haha.

@rvilarl
Copy link
Collaborator Author

rvilarl commented Jan 24, 2022

It is 6 PRs I have one in draft because it builds on the one with the dots discussions.

@ronyeh
Copy link
Collaborator

ronyeh commented Jan 30, 2022

I just published https://github.com/0xfe/vexflow/releases/tag/4.0.1-alpha.1

I checked that it builds correctly and flow.html tests "pass" (i.e., no runtime errors).

I see in the GitHub issues that there may be some visual regressions. Let's diagnose & fix so we can move up to beta and then to full release.

@ronyeh
Copy link
Collaborator

ronyeh commented Feb 17, 2022

Looks like there are no outstanding visual regressions from 3.0.9.

I just published a beta. Install with:

npm install vexflow@beta

I ran all the tests successfully, and flow.html tests look good.

I think we're close to a full release. Please try out this new beta and let us know if there are any issues!

@ronyeh
Copy link
Collaborator

ronyeh commented Feb 27, 2022

Hi everyone, I just made a beta 2 release. Please test it out with:

npm install vexflow@beta

There seems to be an issue with our release scripts. As a result, we shipped a bad beta 1 release last week.

We will try to fix this release script issue before we make a full 4.0.1 release. Please test this build and report any issues ASAP!

I think we can probably release soon and then issue patch releases to fix any small issues if they arise.

@rvilarl
Copy link
Collaborator Author

rvilarl commented Feb 27, 2022

@ronyeh this one does work with OSMD Thank you!
I updated opensheetmusicdisplay/opensheetmusicdisplay#1148 and all tests passed.
@sschmidTU FYI

@ronyeh
Copy link
Collaborator

ronyeh commented Mar 1, 2022

We're getting close! I think we will publish a release candidate soon and then if no complaints come in, we can promote it to a full 4.0.1 release.

I started working on an overview document for VexFlow 4: https://github.com/0xfe/vexflow/wiki/VexFlow-4

At the bottom is a complete list of all commits between 3.0.9 and 4.0.1! (Spoiler: it's over 1600 commits).

@rvilarl rvilarl added the release label Mar 4, 2022
@ronyeh
Copy link
Collaborator

ronyeh commented Mar 21, 2022

Hello everyone!

I just pushed a release candidate to NPM:

npm install vexflow@rc

Please give it a try on your projects. If there are no critical issues, we plan to ship this version as VexFlow 4. Other PRs will go into the next patch or minor release.

Tagging some other folks so you can give this version a try before the VexFlow 4 release:
@mscuthbert @gristow @AaronDavidNewman

@rvilarl
Copy link
Collaborator Author

rvilarl commented Mar 21, 2022

@ronyeh OSMD runs fine with vexflow@rc. Let us release as soon as possible!

@gristow
Copy link
Collaborator

gristow commented Mar 24, 2022

Looks good to me -- thanks for the amazing work on this @ronyeh!

@ronyeh ronyeh closed this as completed Mar 24, 2022
@ronyeh
Copy link
Collaborator

ronyeh commented Mar 24, 2022

VexFlow 4 has been released!

npm install vexflow

https://github.com/0xfe/vexflow/releases/tag/4.0.1

https://www.npmjs.com/package/vexflow

@mscuthbert
Copy link
Collaborator

This is incredible amazing news. Congrats to everyone who worked so hard on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants