Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Release v2.0.0 #595

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

Closed
armanbilge opened this issue Oct 13, 2021 · 37 comments
Closed

Release v2.0.0 #595

armanbilge opened this issue Oct 13, 2021 · 37 comments
Milestone

Comments

@armanbilge
Copy link
Member

We're right at the finish line! The outstanding PRs are:

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.

@armanbilge armanbilge added this to the v2.0.0 milestone Oct 16, 2021
@armanbilge
Copy link
Member Author

I've set a (tentative) due date on the milestone for next week.

@sjrd
Copy link
Member

sjrd commented Oct 16, 2021

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. ;)

@armanbilge
Copy link
Member Author

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 :)

@japgolly
Copy link
Contributor

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.

@armanbilge
Copy link
Member Author

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.

@armanbilge
Copy link
Member Author

armanbilge commented Oct 17, 2021

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.

@japgolly
Copy link
Contributor

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!!

@armanbilge
Copy link
Member Author

armanbilge commented Oct 17, 2021

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.

@japgolly
Copy link
Contributor

japgolly commented Oct 17, 2021

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 :)

@armanbilge
Copy link
Member Author

Anything else? Should we cut an RC?

@armanbilge
Copy link
Member Author

I just tried building raquo/scala-dom-types against 8a2d8f6. 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.

@japgolly
Copy link
Contributor

Should we cut an RC?

Yeah let's do it! In fact, I'll do it now...

@armanbilge
Copy link
Member Author

armanbilge commented Oct 17, 2021

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

@japgolly
Copy link
Contributor

Alright cutting RC1....

@armanbilge
Copy link
Member Author

@armanbilge
Copy link
Member Author

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

@armanbilge
Copy link
Member Author

Nice, looks like scalajs-react merged in the RC 🎉 Can we promote to 2.0.0 final?

@armanbilge
Copy link
Member Author

armanbilge commented Oct 20, 2021

I drafted release notes including a brief migration guide, any feedback appreciated:
https://github.com/scala-js/scala-js-dom/releases/tag/untagged-49373abfe3b367bc7f89

@sjrd
Copy link
Member

sjrd commented Oct 20, 2021

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 :)

@armanbilge
Copy link
Member Author

Thanks @sjrd! :)

@japgolly
Copy link
Contributor

Nice, looks like scalajs-react merged in the RC 🎉 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

@japgolly
Copy link
Contributor

Nice release notes!

@japgolly
Copy link
Contributor

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. 🎉

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 :)

@japgolly
Copy link
Contributor

#615 is a blocker, else we'd be locked into bincompat of ReadyState being only applicable to MediaSource.

@japgolly japgolly mentioned this issue Oct 21, 2021
@armanbilge
Copy link
Member Author

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 😆

@japgolly
Copy link
Contributor

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.

@armanbilge
Copy link
Member Author

Cool! You added this where? 😀

@japgolly
Copy link
Contributor

The draft release page for 2.0.0

@japgolly
Copy link
Contributor

japgolly commented Oct 21, 2021

Alrighty, those two PRs are my last. After they're merged, we're good go from my side. 🚀 🚀 🚀

@armanbilge
Copy link
Member Author

Thanks to you for testing so thoroughly!!

@armanbilge
Copy link
Member Author

I updated the release notes with the latest PRs. We're 🚀 for me too.

@japgolly
Copy link
Contributor

japgolly commented Oct 21, 2021

....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.

@armanbilge
Copy link
Member Author

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.

@armanbilge
Copy link
Member Author

Tagged and publishing. @japgolly do you mind doing Twitter/Reddit comms like last time? I'll cover the rest.

@armanbilge
Copy link
Member Author

We're on central!
https://repo1.maven.org/maven2/org/scala-js/scalajs-dom_sjs1_2.13/2.0.0/

@japgolly
Copy link
Contributor

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 ❤️ 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!

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

No branches or pull requests

3 participants