Scala-dev: Release Scala 2.12.4

Created on 26 Sep 2017  Â·  21Comments  Â·  Source: scala/scala-dev

Milestone: https://github.com/scala/scala/milestone/64

Target date: Oct 3

Before the release

  • [x] Notify community on https://contributors.scala-lang.org/c/announcements
  • [x] Create next milestone, move the "Merge to 2.12.x" description to it (default for new PRs)
  • [x] Close the milestone
  • [x] Triage scala/bug and scala/scala-dev tickets that target [version]
  • [x] Check PRs assigned to the milestone, also check WIP
  • [x] Check merged PRs for the next milestone in this branch, and assign them to this milestone.
  • [x] Check module versioning
  • [x] Merge in older release branch

Release notes

Actual release

  • [x] Announce start of release process, point to release note PRs for feedback
  • [x] Close the scala/bug milestone, create next, move pending issues
  • [x] Close the scala-dev milestone, create next, move pending issues
  • [x] Double check version.properties, maybe create a PR with updates

Stage the release

Point of no return

  • [x] Push scala/scala tag: git push https://github.com/scala/scala.git v[version]
  • [x] Push scala/scala-dist tag: git push https://github.com/scala/scala-dist.git v[version]
  • [x] Promote staging repos: st_stagingRepoPromote [scala-repo], st_stagingRepoPromote [modules-repo]

Check availability

When everything is on maven central

Announcements

Most helpful comment

2.12.4 is staged! Will tag on github and promote to maven central by the end of the week. In the mean time, add repo https://oss.sonatype.org/content/repositories/staging to give 2.12.4 a shot from your favorite build tool! Distribution is up for download from https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.zip (or .tgz/.msi/.deb/.rpm). Please try the script runner scala foo.scala to make sure the new NIO-based file creation works.

All 21 comments

PSA: We'll allow PRs currently scheduled for 2.12.4 to be merged until Friday. We'll run benchmarks and community builds over the weekend and Monday, and cut the release on Tuesday. Any PRs that regress performance / break the community build will be reverted and rescheduled for 2.12.5.

the first link should point to https://github.com/scala/scala/milestone/64, right?

Thanks, updated.

All PRs are merged, save one (https://github.com/scala/scala/pull/6110) that fixes a performance regression introduced by my PR (https://github.com/scala/scala/pull/6082). We should have that one in and the release staged by the end of the week.

@adriaanm - A hashing bug in AnyRefMap was just discovered that results in one in 2^32 hash codes not being stored. I can send in a PR tonight. Any chance it can make 2.12.4?

Yeah I think we should include that. Also the asm version bump
On Fri, Oct 6, 2017 at 13:46 Ichoran notifications@github.com wrote:

@adriaanm https://github.com/adriaanm - A hashing bug in AnyRefMap was
just discovered that results in one in 2^32 hash codes not being stored. I
can send in a PR tonight. Any chance it can make 2.12.4?

—
You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub
https://github.com/scala/scala-dev/issues/432#issuecomment-334865661,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFjy-5ElFzsm4N8b0lP4PDEDAOyaLe1ks5sppGLgaJpZM4PksDg
.

Ok, I think I just merged the last 2.12.4 PR (which tidies up our storage of temporary compilation daemon files). It would be great if we could get a few reports on the upcoming nightly builds scala-2.12.4-bin-67fcf5c.* at http://www.scala-lang.org/files/archive/nightly/2.12.x/, especially with regard to usage scala scripts on windows/linux/mac. You should now see the various files created by the compilation daemon under ~/.scalac/ rather than somewhere under /tmp.

(What do you see with echo "println(\"hi\")" > /tmp/foo.scala ; scala -verbose /tmp/foo.scala, and what does ls -lhaR ~/.scalac/ look like? Please report back on PR scala/scala#6120.)

Staging the release! (Fixed a mistake with the upgrade to NIO and bumped the jline version to 2.14.5.)

Community build failed. Pinned breeze at last known good and rerunning: https://scala-ci.typesafe.com/job/scala-2.12.x-release-main/967/console

2.12.4 is staged! Will tag on github and promote to maven central by the end of the week. In the mean time, add repo https://oss.sonatype.org/content/repositories/staging to give 2.12.4 a shot from your favorite build tool! Distribution is up for download from https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.zip (or .tgz/.msi/.deb/.rpm). Please try the script runner scala foo.scala to make sure the new NIO-based file creation works.

Getting 2.12.4 out the door is taking a little longer than expected, mainly because we realized we need to do 2.10.7 and 2.11.12 releases at roughly the same time... as JDK 9 related issues keep cropping up, we need to coordinate with the sbt team on some of those issues, etc.

We're doing our best to keep the delay here to a matter of some extra days, but please recall that our release date targets are always targets and estimates, never promises.

If anyone reading this is hot to get their hands on the changes in the upcoming releases, or any future Scala release, please consider using a staged release like the one linked above, or (applicable at any time, not just right before a release) a nightly build. Using a nightly build only requires changing a few lines in your sbt build; see https://stackoverflow.com/questions/40622878/how-do-i-tell-sbt-to-use-a-nightly-build-of-scala-2-11-2-12-or-2-13 for details. (Adapting the instructions to maven or gradle wouldn't be hard for anyone familiar with those tools, I think.)

If anyone has any questions or issues about our approach to scheduling and announcing releases in general or this release in particular, a good place to raise those concerns is https://contributors.scala-lang.org — keeping the Scala Code of Conduct in mind, of course...

Here's what I got on Windows 10

image

Ah, within the .scalac folder, fsc_port, fsc_redirects and their contents have fewer permissions, namely "Full control" only for myself, nothing else.

Thanks for checking @lrytz! Much appreciated. I’ll tag and promote

Done! Announcements will follow tomorrow.

Compiler plugins for Scala.js v0.6.19, v0.6.20 and v1.0.0-M1 released for 2.12.4 (pending Maven Central syncing).

No Macro Paradise for 2.12.4 yet, where would I raise that?

No Macro Paradise for 2.12.4 yet, where would I raise that?

at https://github.com/scalamacros/paradise/issues

@fsvehla @SethTisue Fixed.

Was this page helpful?
0 / 5 - 0 ratings