Closed armanbilge closed 3 years ago
I've set a (tentative) due date on the milestone for next week.
FYI, I will be on vacation the week of October 25. I don't think you'll need me for the release at all, but just in case. ;)
Well I did goof it up once before 😳 thanks for letting me know. In theory we can release anytime this week (all the aforementioned PRs are ready), I am hopeful David will chime in with his blessings/objections :)
Hello. Sounds great, let's get this release out. My only contribution to the plan is that I think it'd be a good idea to do an RC first. One reason is that the new release process is still new, another reason is that I'd love to try it in a big app, make sure everything works as expected and all tests pass, so that if there are any mistakes we've made, hopefully we catch them in time before locking ourselves into bincompat for the entire 2.x series. Actually it might be a good idea to let the community do the same.
Thanks for chiming in! Hope all is well ❤️
Yes, I think doing an RC is not a bad idea. Actually we've been publishing snapshots all along so I was planning to try PRing laminar against one of those snapshots. But an RC works too :)
I'd be shocked if there aren't any mistakes, but I would be surprised if there is a mistake with bincompat implications.
FWIW, what I'm most concerned about re binary compatibility, is making sure we loudly communicate that downstreams should remove the for3use213
from their build configs. Because it is far too easy to merge a Scala Steward update to SJS-dom v2 without paying attention to this. And this would have as bad binary compatibility implications just as if we just published SJS-dom v1 for Scala 3.
Yeah very good point! Maybe a big bold instruction at the top of the release notes?
Thanks for chiming in! Hope all is well
Thank you! Unfortunately it's just bad news after bad news. Funny thing is that I have unrelated appt next month that about something that could be cancer which, I think at this point I'd just laugh and say ggs. I'll probably be fine eventually though. Unfortunately for my OSS contributions I might be a bit randomly flakey for a while. I am sorry about that but not much I can do. Looks like you've been doing awesome work so as both a co-contributor and as an end-user, thank you!!
I am so sorry to hear that 😢 I certainly don't want to pile on, and hope that I haven't by pushing for this release. Just let me know.
Oh my bad, no, no, not at all. Nothing like that :) When I have a bit of capacity I like to pop in and do what I can. No pressure :)
Anything else? Should we cut an RC?
I just tried building raquo/scala-dom-types against 8a2d8f6c. It was ... extremely easy. Didn't have to make any changes or even get any deprecation warnings, because it was already using the dom.*
aliases defined in v1.
Should we cut an RC?
Yeah let's do it! In fact, I'll do it now...
Nice! I am currently looking through SJS-dom's downstream dependencies to try and figure out what important projects to help along with a PR.
https://mvnrepository.com/artifact/org.scala-js/scalajs-dom/usages
Downstreams to test with RC:
Alright cutting RC1....
I've PRed the RC to all the projects listed above. Anything with a checkmark is confirmed to pass CI (the rest seemed to work locally but are waiting for CI approval to run). So that seems good.
OTOH, it is concerning that scalajs-react is still getting the same error:
exception caught when loading module class dom: package org.scalajs.dom contains object and package with same name: raw
https://github.com/japgolly/scalajs-react/runs/3945795061#step:4:7584
Nice, looks like scalajs-react merged in the RC 🎉 Can we promote to 2.0.0 final?
I drafted release notes including a brief migration guide, any feedback appreciated: https://github.com/scala-js/scala-js-dom/releases/tag/untagged-49373abfe3b367bc7f89
Somme suggestions:
-It is published for Scala 2.11, 2.12, 2.13, and 3.0 against Scala.js 1.5.
+It is published for Scala 2.11, 2.12, 2.13, and 3.0+ with Scala.js 1.5+.
Those +
es are important because users need to understand that 3.x and 1.x will stay backward binary compatible, and that therefore they can use any newer version.
-scala-js-dom v2.0.0 is entirely source-compatible with v1.2.0, besides some corrections to facades and many new deprecation warnings.
+scala-js-dom v2.0.0 is source-compatible to a great extent with v1.2.0, besides some corrections to facades and many new deprecation warnings.
You can't say "entirely" and "besides" in the same sentence without sounding contradictory. Also it's best never to make any promise of source compatibility, because there can always be a corner case that breaks.
Example migration
Great :)
Thanks @sjrd! :)
Nice, looks like scalajs-react merged in the RC :tada: Can we promote to 2.0.0 final?
Nah, scalajs-react isn't much of a test, I wanna upgrade this in a big app before we lock in bincompat
Nice release notes!
FYI I expect to be done with my testing within one more day, or maybe 1.5 days if problems. So far though, everything's looking good. :tada:
I did notice one small issue. DragEffect
was moved to .dom
but there wasn't a deprecated alias. I thought there might be some more too and spent a little time trying to work it out, but decided to stop because it'll take more time than I have, and possibly than its worth. Such are the sad realities of working on OSS for free but if you can think of a good-enough, fast-enough way of checking what else we missed, go for it :)
ReadyState
being only applicable to MediaSource
.I thought there might be some more too and spent a little time trying to work it out, but decided to stop because it'll take more time than I have, and possibly than its worth.
I'm sure there are at least a few these. Apologies, since I did a bunch of the migrating so they're probably all of my screw-ups. The community will run into some of these, and either fix and move on, ignore and don't upgrade, or complain in which case we can patch 😆
FYI: Added a little migration helper script that I used to the release notes (same as I do for scalajs-react releases those who follow that). It obviously won't do everything but it's a nice ~80% reward for ~20% effort.
Cool! You added this where? 😀
The draft release page for 2.0.0
Alrighty, those two PRs are my last. After they're merged, we're good go from my side. :rocket: :rocket: :rocket:
Thanks to you for testing so thoroughly!!
I updated the release notes with the latest PRs. We're 🚀 for me too.
....and we're ready to go! I did the last release, you should have the honour this time. I know it's just a tag and push but it's symbolic :)
Dude, thanks so much for all your effort in getting to this point! Really appreciate it. It's been tiring work we had to slog through, but it's been a pleasure doing it together!
How nice it's going to be not having this release on our shoulders, hehe.
I did the last release, you should have the honour this time.
Well that's only cause I buggered it up 😆
Dude, thanks so much for all your effort in getting to this point! Really appreciate it. It's been tiring work we had to slog through, but it's been a pleasure doing it together!
Same to you! Been such a pleasure working with you, so bittersweet now that things are going to calm down a bit here. Maybe we'll intersect on some other projects elsewhere :)
How nice it's going to be not having this release on our shoulders, hehe.
THIS. Also hope you find lots of time to relax and get better ❤️ really appreciate the push here this week to get this out.
Tagged and publishing. @japgolly do you mind doing Twitter/Reddit comms like last time? I'll cover the rest.
We're on central! https://repo1.maven.org/maven2/org/scala-js/scalajs-dom_sjs1_2.13/2.0.0/
Alright! Shared on Twitter and Reddit.
Same to you! Been such a pleasure working with you, so bittersweet now that things are going to calm down a bit here. Maybe we'll intersect on some other projects elsewhere :) Also hope you find lots of time to relax and get better :heart: really appreciate the push here this week to get this out.
And yeah absolutely, and on that note, thanks for putting up with a few side-effects like me forgetting everything on earth. I'm a bit embarrassed that so much of our collaboration has overlapped with me being at the bottom of my game but we did get through it well enough. Look forward to hopefully working with you again some day! Take care mate!
We're right at the finish line! The outstanding PRs are:
588: reviewed by @japgolly, needs a final review
592: reviewed by @sjrd, based on #588
593: basically ready, let's get this one in as well
The only other issues in the 2.0.0 milestone are internal and don't have binary or source compatibility implications, so I don't think we should block on those.
Is there anything else?
I don't mean to be impatient or pushy, there's no real rush of course. But speaking personally I'll be very happy to have this weight off my shoulders and see all of our efforts come to fruition. And importantly start the process of propagating this change through the ecosystem.