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

Update dependency scala to v2.13.7 #706

Closed
wants to merge 1 commit into from
Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 23, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
scala (source) 2.13.3 -> 2.13.7 age adoption passing confidence

Release Notes

scala/scala

v2.13.7

Compare Source

The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.7.

Align with Scala 3
JDK and Java compatibility
Android compatibility
  • Add ClassValueCompat to support systems without java.lang.ClassValue (such as Android) (#​9752 by @​nwk37011)
  • For Android compatibility, make Statics.releaseFence() also catch NoSuchMethodException for java.lang.invoke.VarHandle.releaseFence() call (#​9739 by @​nwk37011)
Concurrency
  • Fix asymmetric failure behavior of Future#{zip,zipWith,traverse,sequence} by making them fail fast regardless of ordering (#​9655 by @​lihaoyi)
Collections
Other changes

Some small changes that will ship in 2.12.16 are also included in this release.

For the complete 2.13.7 change lists, see all merged PRs and all closed bugs.

Compatibility

As usual for our minor releases, Scala 2.13.7 is binary-compatible with the whole Scala 2.13 series.

Upgrading from 2.12? Enable -Xmigration while upgrading to request migration advice from the compiler.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 25 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.6 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Jason Zaugg, Jamie Thompson, NthPortal, Georgi Krastev, Guillaume Martres, Dale Wijnand, Martijn Hoekstra, Alec Theriault, Rafał Sumisławski, Matt Dziuban, Li Haoyi, Doug Roper, Sébastien Doeraene, VladKopanev, danicheg, dengziming, megri, nwk37011, Magnolia.K, 梦境迷离, Mathias, James Judd.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

Scala 2.13 notes

The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

v2.13.6

Compare Source

The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.6.

Highlights
Other Changes
  • Optimized BigInt implementation (#​9628) by @​denisrosset
  • Support JDK15 text blocks in Java parser (#​9548) by @​harpocrates
  • Stricter override checking for protected Scala members which override Java members (#​9525) by @​kynthus
  • Check private[this] members in override checking (#​9542)
  • More accurate outer checks in patterns (#​9504)
  • Allow renaming imports from _root_ (#​9482) by @​som-snytt
  • Make more annotations extend ConstantAnnotation (9336) by @​BalmungSan
  • A number of syntax changes were added to simplify cross-building between Scala 2 and 3
    • Don't error (only warn) on symbol literals under -Xsource:3 (#​9602)
    • Support writing & instead of with in types under -Xsource:3 (#​9594)
    • Support Scala 3 vararg splice syntax under -Xsource:3 (#​9584)
    • Support Scala 3 wildcard and renaming imports under -Xsource:3 (#​9582)
    • Allow soft keywords open and infix under -Xsource:3 (#​9580)
    • Align leading infix operator with Scala 3 improvements (#​9567)
    • Support ? as wildcard marker under -Xsource:3 (#​9560)
    • Support case in pattern bindings under -Xsource:3 (#​9558)
    • Parse +_ and -_ in types as identifiers under -Xsource:3 to support Scala 3.2 placeholder syntax (#​9605)

Some small changes that will ship in 2.12.14 are also included in this release.

For the complete 2.13.6 change lists, see all merged PRs and all closed bugs.

Compatibility

As usual for our minor releases, Scala 2.13.6 is binary-compatible with the whole Scala 2.13 series.

Upgrading from 2.12? Enable -Xmigration while upgrading to request migration advice from the compiler.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 25 contributors, according to git shortlog -sn --no-merges HEAD ^v2.13.5 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Dale Wijnand, Jamie Thompson, Seth Tisue, 梦境迷离, Guillaume Martres, Martijn Hoekstra, Denis Rosset, Aaron S. Hawley, Kai, Eugene Yokota, Jason Zaugg, Anatolii Kmetiuk, Ikko Ashimine, superseeker13, Eugene Platonov, Diego E. Alonso Blas, Filipe Regadas, Hatano Yuusuke, Luis Miguel Mejía Suárez, Rafał Sumisławski, Alec Theriault, Tom Grigg, Torsten Schmits.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

Scala 2.13 notes

The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

v2.13.5

Compare Source

Scala 2.13.5

The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.5.

Highlights
Other changes

Some small changes that will ship in 2.12.14 are also included in this release.

For complete 2.13.5 change lists, see all merged PRs and all closed bugs.

Compatibility

As usual for our minor releases, Scala 2.13.5 is binary-compatible with the whole Scala 2.13 series.

Upgrading from 2.12? Enable -Xmigration while upgrading to request migration advice from the compiler.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 23 contributors, according to git shortlog -sn --no-merges HEAD ^v2.13.4 ^2.12.x. Thank you Seth Tisue, A. P. Marki, Dale Wijnand, NthPortal, Jamie Thompson, Lukas Rytz, Martijn Hoekstra, Georgi Krastev, Jason Zaugg, Jasper Moeys, Sakib Hadziavdic, Anatolii Kmetiuk, Arnaud Gourlay, Marcono1234, Chia-Ping Tsai, Mike Skells, Stefan Zeiger, Waleed Khan, Yann Bolliger, Guillaume Martres, 梦境迷离, Ethan Atkins, Darcy Shen.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

Scala 2.13 notes

The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

v2.13.4

Compare Source

Scala 2.13.4:

  • Restores default global ExecutionContext to 2.12 behavior
  • Improves pattern matching, especially in exhaustivity checking
  • Adds experimental support for consuming some libraries built by Scala 3

and more! Details below.

Concurrency

NOTE The following change affects parallelism and performance. If you use scala.concurrent.ExecutionContext.global you may
want to adapt your code. (But note that Akka is unaffected, because it uses its own execution contexts.)

In 2.13.0 we made ExecutionContext.global "opportunistic". This enabled "batching" of nested tasks
to execute on the same thread, avoiding an expensive context switch. That strategy requires
user code to wrap long-running and/or blocking tasks with blocking { ... } to maintain parallel
execution.

For 2.13.4, we restore 2.12's default non-batching behavior, which is safer for arbitrary user code. Users wanting
increased performance may override the default, if they believe their code uses blocking correctly.
We make that choice available via ExecutionContext.opportunistic.

Using ExecutionContext.opportunistic requires a bit of extra boilerplate, made necessary by binary
compatibility constraints on the standard library. Detailed instructions are in
ExecutionContext.global's Scaladoc.

Further detail: #​9270/#​9296/scala/bug#​12089,

Pattern matching

The pattern matcher is now much better at warning you if a match isn't exhaustive.

The following types of matches no longer disable exhaustivity checking:

  • guards (case <pattern> if <condition> => ...) #​9140
  • custom extractors (user-defined unapply or unapplySeq) #​9140/#​9162
  • unsealed types, if you opt in via -Xlint or -Xlint:strict-unsealed-patmat #​9140/#​9299

Additionally,

New warnings reported can be resolved by:

  1. adding any missing cases
  2. in the case of complementary guards (e.g. if n > 0 and if n <= 0) by dropping the last guard
  3. for custom extractors: demarking irrefutable extractors as such, by defining the return type as Some
  4. for sealed types: marking traits or parent classes sealed, parent classes abstract, and classes final
  5. explicitly declaring the default case: case x => throw new MatchError(x)

Otherwise, your options for suppressing warnings include:

  1. annotate the scrutinee with @unchecked, such as (foo: @&#8203;unchecked) match { ... }
  2. disable exhaustivity checking in the presence of guards and custom extractors with -Xnon-strict-patmat-analysis
  3. disable exhaustivity checking of unsealed types with -Xlint:-strict-unsealed-patmat
  4. use -Wconf to suppress the warnings globally, with e.g. -Wconf:msg=match may not be exhaustive:i
Scala 3 interop

This release enables the Scala 2 compiler to consume some libraries built in Scala 3. #​9109/#​9293

The new capability is experimental. To enable it, add -Ytasty-reader to your compiler options.

Not all Scala 3 built libraries are supported, because not all Scala 3 features can be supported.
The library author must stay within the supported subset.

For more details and caveats see the blog post Forward Compatibility for the Scala 3 Transition.

Standard library changes
  • When compiling on JDK 15, avoid clash with new CharSequence#isEmpty method #​9292
    • The clash is avoided by making CharSequence wrappers in Predef non-implicit.
    • The change is binary compatible, but not source compatible. Call sites may need updating.
  • Make LazyList.cons.apply lazier #​9095
  • Make MapView#values preserve laziness #​9090
  • Make ListBuffer's iterator fail when the buffer is mutated #​9174
  • Un-deprecate useful StringOps methods, despite Unicode concerns #​9246
Compiler changes
  • Allow using classOf with object type (e.g. classOf[Foo.type]) #​9279
  • Fix back-quoted constructor params with identical prefixes #​9008
  • Enable range positions (-Yrangepos) by default #​9146
Other changes

Some changes that will also ship in 2.12.13 are also included in this release, most notably:

  • When compiling on JDK 15, avoid clash with new CharSequence#isEmpty method #​9292
    • To avoid the clash, implicit was removed from Predef's implicit conversions to SeqCharSequence and ArrayCharSequence.
    • This change is binary compatible, but not source compatible. User code may need updating. See PR for details.

For complete 2.13.4 change lists, see all merged PRs and all closed bugs.

Compatibility

As usual for our minor releases, Scala 2.13.4 is binary-compatible with the whole Scala 2.13 series.

Upgrading from 2.12? Enable -Xmigration while upgrading to request migration advice from the compiler.

Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

This release was brought to you by 40 contributors, according to git shortlog -sn --no-merges HEAD ^v2.13.3 ^2.12.x. Thank you Jamie Thompson, Dale Wijnand, A. P. Marki, NthPortal, Lukas Rytz, Seth Tisue, Jason Zaugg, Georgi Krastev, Eugene Yokota, Martijn Hoekstra, Trey Cahill, Rado Buransky, Ergys Dona, Mike Skells, Greg Pfeil, Kazuhiro Sera, Mitsuhiro Shibuya, NagaChaitanya Vellanki, Sergei Petunin, Sébastien Doeraene, Takahashi Osamu, Viktor Klang, mwielocha, Nicolas Stucki, Jan Arne Sparka, Philippus Baalman, Glenn Liwanag, Rafał Sumisławski, Renato Cavalcanti, Sergei, nooberfsh, Dmitrii Naumenko, Simão Martins, counter2015, Jian Lan, Liu Fengyun, Kanishka, Julien Richard-Foy, Janek Bogucki, Björn Regnell.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

Scala 2.13 notes

The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled due to failing status checks.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@Fate-JH
Copy link
Contributor

Fate-JH commented Feb 27, 2021

Hold off on just greenlighting this. There was a reason why I blocked the previous Scala version upgrade; however, I can not articulate that reason right now. Something about incompatible dependencies, I think, or changed but not deprecated functionality.

@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 7 times, most recently from 8623013 to 25b49b2 Compare March 5, 2021 16:07
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 2 times, most recently from b3981ea to ee0c213 Compare March 8, 2021 17:15
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 5 times, most recently from 846e554 to 40ff2ed Compare March 22, 2021 16:23
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 12 times, most recently from 96d292f to 1569dec Compare March 26, 2021 18:36
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 3 times, most recently from 1d716b1 to e9435a4 Compare April 6, 2021 21:01
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 12 times, most recently from 0fbb4a7 to 6862221 Compare October 5, 2021 20:08
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 5 times, most recently from ab27618 to 31ef130 Compare November 1, 2021 15:44
@renovate renovate bot changed the title Update dependency scala to v2.13.6 Update dependency scala to v2.13.7 Nov 1, 2021
@renovate renovate bot force-pushed the renovate/scala-2.13.x branch 8 times, most recently from 98389e5 to 9cb15ac Compare November 1, 2021 18:54
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

Successfully merging this pull request may close these issues.

3 participants