This repository has been archived by the owner on Jul 17, 2022. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.11.8
->2.13.8
Release Notes
scala/scala
v2.13.8
Compare Source
The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.8.
This is a modest, incremental release focused on addressing regressions in 2.13.7.
Highlights
IndexedSeq
s (including fixing 2.13.7reverseIterator
regression) (#9799 by @som-snytt)releaseFence
regression affecting GraalVM compatibility (#9825 by @lrytz)A few small changes that will ship in 2.12.16 are also included in this release.
For the complete 2.13.8 change lists, see all merged PRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.8 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 8 contributors, according to
git shortlog -sn --no-merges @​ ^v2.13.7 ^2.12.x
. Thank you A. P. Marki, Seth Tisue, Georgi Krastev, Jason Zaugg, Lukas Rytz, Martijn Hoekstra, Philippus Baalman, Chris Kipp.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):
scalaVersion
setting in your sbt-based projectv2.13.7
Compare Source
The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.7.
Align with Scala 3
import x.{*, given}
under-Xsource:3
(#9724 by @smarter)case
in pattern bindings even without-Xsource:3
(#9721 by @smarter)JDK and Java compatibility
StringConcatFactory
for string concatenation on JDK 9+ (#9556 by @harpocrates)Android compatibility
ClassValueCompat
to support systems withoutjava.lang.ClassValue
(such as Android) (#9752 by @nwk37011)Statics.releaseFence()
also catchNoSuchMethodException
forjava.lang.invoke.VarHandle.releaseFence()
call (#9739 by @nwk37011)Concurrency
Future#{zip,zipWith,traverse,sequence}
by making them fail fast regardless of ordering (#9655 by @lihaoyi)Collections
ArrayBuffer
's iterator fail fast when buffer is mutated (#9258 by @NthPortal)ArrayOps
bugs (by avoidingArraySeq#array
, which does not guarantee element type) (#9641 by @som-snytt)IterableOps.toIterable
(#9774 by @lrytz)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):
scalaVersion
setting in your sbt-based projectv2.13.6
Compare Source
The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.6.
Highlights
-Vimplicits
and-Vtype-diffs
flags (#7785)s"\""
ands"$""
(#8830 by @eed3si9n and #9536 by @martijnhoekstra)Other Changes
BigInt
implementation (#9628) by @denisrossetprivate[this]
members in override checking (#9542)_root_
(#9482) by @som-snyttConstantAnnotation
(9336) by @BalmungSan-Xsource:3
(#9602)&
instead ofwith
in types under-Xsource:3
(#9594)-Xsource:3
(#9584)-Xsource:3
(#9582)-Xsource:3
(#9580)?
as wildcard marker under-Xsource:3
(#9560)-Xsource:3
(#9558)+_
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):
scalaVersion
setting in your sbt-based projectv2.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
-target
support JVM 13, 14, 15, 16, and 17 (#9489, #9481)@nowarn
annotations from generated code, for forwards compatibility at compile-time (#9491)-Wunused:synthetics
or-Wunused:params
) (#9346) — thank you @som-snytt!ConstantAnnotation
s (#9379)Map
wrappers handle nulls according toput
/remove
contract (#9344) — thank you @som-snytt!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):
scalaVersion
setting in your sbt-based projectv2.13.4
Compare Source
Scala 2.13.4:
ExecutionContext
to 2.12 behaviorand more! Details below.
Concurrency
NOTE The following change affects parallelism and performance. If you use
scala.concurrent.ExecutionContext.global
you maywant 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 tasksto 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 parallelexecution.
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 binarycompatibility 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:
case <pattern> if <condition> => ...
) #9140unapply
orunapplySeq
) #9140/#9162-Xlint
or-Xlint:strict-unsealed-patmat
#9140/#9299Additionally,
New warnings reported can be resolved by:
if n > 0
andif n <= 0
) by dropping the last guardSome
case x => throw new MatchError(x)
Otherwise, your options for suppressing warnings include:
@unchecked
, such as(foo: @​unchecked) match { ... }
-Xnon-strict-patmat-analysis
-Xlint:-strict-unsealed-patmat
-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
CharSequence#isEmpty
method #9292CharSequence
wrappers inPredef
non-implicit.LazyList.cons.apply
lazier #9095MapView#values
preserve laziness #9090ListBuffer
's iterator fail when the buffer is mutated #9174StringOps
methods, despite Unicode concerns #9246Compiler changes
classOf
with object type (e.g.classOf[Foo.type]
) #9279-Yrangepos
) by default #9146Other changes
Some changes that will also ship in 2.12.13 are also included in this release, most notably:
CharSequence#isEmpty
method #9292implicit
was removed fromPredef
's implicit conversions toSeqCharSequence
andArrayCharSequence
.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):
scalaVersion
setting in your sbt-based projectv2.13.3
Compare Source
Scala 2.13.3 is primarily a bugfix release.
It also includes:
-Xasync
supportFor more detail, read on.
Behavior changes
Symbol#toString
is nowSymbol(foo)
instead of the deprecated single-quote form'foo
(#8933)Bugfixes
Vector
: restore special cases for small operands inappendedAll
andprependedAll
(#9036)#::
forLazyList
(#8985)@uncheckedVariance
in higher-kinded types (fixing 2.13.2 regression) (#8938)Warnings and linting
-Xlint:nullary-override
is no longer accepted, since this now warns by defaultx op (a, b)
), also lint operator-name definitions (#8951)@nowarn
to use correct semantics for&
(#9032)-Wunused:imports
work again even when-Ymacro-annotations
is enabled (#8962)-Wself-implicit
with-Xlint:implicit-recursion
(#9019)-Xsource:3
, disallow auto-eta-expansion of SAMs (#9049)Experimental
-Xasync
This successor to scala-async allows usage with other effect systems besides
scala.concurrrent.Future
.-Xasync
(#8816)We will publish a blog post with more detail on this work by @retronym, building on his earlier collaboration with @phaller. In the meantime, see the PR description.
This feature will also be included in the 2.12.12 release.
Other changes
For complete 2.13.3 change lists, see all merged PRs and all closed bugs.
Some changes that will ship in 2.12.12 are also included in this release, most notably:
@Deprecated
(#8781)-release 8
: exclude sig files inSymbol#sourceFile
(#8849)Compatibility
As usual for our minor releases, Scala 2.13.3 is binary-compatible with the whole Scala 2.13 series.
Upgrading from 2.12? Enable
-Xmigration
during upgrade 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 28 contributors, according to
git shortlog -sn --no-merges HEAD ^v2.13.2 ^2.12.x
. Thank you A. P. Marki, Jason Zaugg, Seth Tisue, Dale Wijnand, Lukas Rytz, Georgi Krastev, David Barri, Eugene Yokota, Diego E. Alonso Blas, Akhtiam Sakaev, Glenn Liwanag, changvvb, Evgeny Ganchurin, Mike Skells, Martijn Hoekstra, yudedako, Anatolii Kmetiuk, Gilles Peiffer, JyotiSachdeva.ext, Karol Chmist, Kenji Yoshida, Lorenzo Costanzia di Costigliole, NthPortal, Steven Barnes, Sébastien Doeraene, Travis Brown, counter2015, nogurenn.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):
scalaVersion
setting in your sbt-based projectv2.13.2
Compare Source
Scala 2.13.2 has:
Vector
implementationVector
Vector
(using "radix-balanced finger tree vectors"), for performance (#8534)Small vectors are now more compactly represented. Some operations are now drastically faster on large vectors. A few operations may be a little slower.
Kudos to @szeiger for this work.
Configurable warnings
-Wconf
flag for configurable warnings,@nowarn
annotation for local suppression (#8373)Note that scala-collection-compat 2.1.6 (or newer) provides
@nowarn
for cross-built projects (as a no-op on 2.11 and 2.12).Special thanks to Roman Janusz (@ghik), whose silencer plugin was the basis for this work.
REPL improvements
-Yrepl-class-based
and-Yuse-magic-imports
(#8748)-Yrepl-class-based
avoids deadlocks-Yuse-magic-imports
improves performance for long sessionsSpecial thanks to @som-snytt for spearheading the JLine 3 upgrade.
We are tracking JLine-related improvements and regressions here. There some known regressions in some less-vital features and behaviors; we plan to address these in future 2.13.x releases.
Language changes
Compiler fixes
getClass
,toString
, etc) from root module import (#8541)Deprecations
Long
toDouble
) (#8679)Float
/Double
(#8757)Improvements from the future
-Xsource:2.14
, only-Xsource:3
(#8812)-Xsource:3
) (#8419)-Xsource:3
) (#7702)Other fixes and improvements
Ordering
s; issue migration warning instead under-Xmigration
(#8721)-Wmacros:MODE
(#8799)-jdk-api-doc-base
flag) (#8663)sys.env
now throws on null environment variable (#8579)##
have no parameter list (instead of a single empty one) (#8814)This is not a complete list of changes. For that, see all merged PRs and all closed bugs.
2.13.2 also includes the changes in Scala 2.12.11, most notably:
Compatibility
As usual for our minor releases, Scala 2.13.2 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 45 contributors, according to
git shortlog -sn --no-merges HEAD ^v2.13.1 ^2.12.x
. Thank you Som Snytt, Jason Zaugg, Lukas Rytz, Dale Wijnand, Seth Tisue, Diego E. Alonso Blas, Georgi Krastev, Martijn Hoekstra, Eugene Yokota, Harrison Houghton, Stefan Zeiger, NthPortal, Anatolii, Linas Medžiūnas, Aaron S. Hawley, Guillaume Martres, Josh Lemer, Sébastien Doeraene, Jasper Moeys, Julien Truffaut, Oskar Haarklou Veileborg, Lucas Cardoso, Andrew Valencik, Adriaan Moors, yudedako, Steven Barnes, Brian Wignall, Ausmarton Zarino Fernandes, Oguz Albayrak, Philippus, Viktor Klang, Yang Bo, bnyu, psilospore, sinanspd, wholock, Jamie Thompson, Hamza Meknassi, Janek Bogucki, Flash Sheridan, Fabian Page, Kenji Yoshida, Denis Rosset, Lucas S Cardoso, Chris Birchall.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):
scalaVersion
setting in your sbt-based projectv2.13.1
Compare Source
Scala 2.13.1 is primarily a bug fix release that fixes several regressions in 2.13.0.
Collection-related regressions
Stream.Cons
to the 2.12 encoding (#8354)scala.Seq
to drop elems inunapplySeq
(#8340)RedBlackTree.take
(#8287)Iterator#flatMap#hasNext
callsouter#hasNext
1 time, not 2-3 times (#8220)s.c.Map#values
returns a strictIterable
rather than aView
(#8195)Vector.from(ArraySeq)
copies elems rather than reusingunsafeArray
(#8194)mutable.HashSet.addAll
: remove redundant call to super method (#8192)mutable.ArraySeq.ofChar#addString
(#8176)HashMap#mapValuesInPlace
(#8421)Other regressions
apply
(#8202)Other bug fixes and improvements
toSeq
conversions inSeq
methods (#8374)Stream
methods (#8367)ArraySeq
iteration (#8300)implicitNotFound
message is supplemental (#8280)try
(#8071)mutable.MultiMap
(#8005)if(_)
(#7707)This is not a complete list of changes. For that, see all merged PRs and all closed bugs.
Compatibility
Upgrading from 2.12? Enable
-Xmigration
while upgrading to request migration advice from the compiler.As usual for our minor releases, Scala 2.13.1 is binary-compatible with the whole Scala 2.13 series.
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 43 contributors, according to
git shortlog -sn --no-merges HEAD ^v2.13.0 ^upstream/2.12.x
. Thank you Som Snytt, Lukas Rytz, Aaron S. Hawley, exoego, Jason Zaugg, Dale Wijnand, Seth Tisue, Stefan Zeiger, NthPortal, Martijn Hoekstra, Jasper Moeys, Josh Lemer, Isaac Levy, Harrison Houghton, Benjamin Kurczyk, redscarf, 杨博 (Yang Bo), Adriaan Moors, Anatolii Kmetiuk, Eugene Yokota, Georgi Krastev, Miles Sabin, Philippus, xuwei-k, Magnolia.K, Mike Skells, 2efPer, Mitesh Aghera, NomadBlacky, Guillaume Martres, Odd Möller, yui-knk, Georg, Flash Sheridan, Diego E. Alonso Blas, Sébastien Doeraene, Atsushi Araki, psilospore, Akhtyam Sakaev, wanying.chan, Li Haoyi, M.Shibuya, Kota Mizushima.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):
scalaVersion
setting in your sbt-based projectv2.13.0
Compare Source
We are delighted to announce the availability of Scala 2.13.0!
Release summary
2.13 improves Scala in the following areas:
Future
is faster and more robust. Elsewhere, useful classes and methods have been added.To learn more, read on.
Collections redesign
Standard library collections have been overhauled for simplicity, performance, and safety.
This is the centerpiece of the release.
Most ordinary code that used the old collections will continue to work as-is, except as detailed below.
The most important collections changes are:
CanBuildFrom
. Transformation methods no longer take an implicitCanBuildFrom
parameter.BuildFrom
implicit is used in a handful of places that need it.Traversable
andTraversableOnce
.Iterable
andIterableOnce
.GenSeq
,GenTraversableOnce
, et al are gone.scala.Seq
Seq
is now an alias forcollection.immutable.Seq
collection.Seq
.collection.View
s have been vastly simplified and should now work reliably.++
(alias forconcat
),+:
(alias forprepended
),:+
(alias forappended
), and so on.HashMap/Set
implementationsimmutable.LazyList
replacesimmutable.Stream
.Stream
had different laziness behavior and is now deprecated. (#7558, #7000)immutable.ArraySeq
is an immutable wrapper for an array; there is also a mutable versionmutable.CollisionProofHashMap
guards against denial-of-service attacks (#7633)mutable.ArrayDeque
is a double-ended queue that internally uses a resizable circular buffer (scala/collection-strawman#490)mutable.Stack
was reimplemented (and undeprecated)Stack
s wereList
-based and deprecated.mutable.Stack
backed by anArrayDeque
.immutable.Stack
was removed.SeqMap
immutable.SeqMap
provides immutable maps that maintain insertion order. (#7954)VectorMap
(#6854) andTreeSeqMap
(#7146) (in addition to the already existingListMap
).Additional collections changes:
to(Collection)
methodto[Collection]
method..to(Vector)
.Map
,BitSet
, et al).collection.breakOut
CanBuildFrom
, which no longer exists..view
and.to(Collection)
instead.List
andVector
are saferreleaseFence
(#6425)filterInPlace
,mapInPlace
,flatMapInPlace
, and others.scala.jdk
scala.jdk.javaapi
Stepper
, which is likeIterator
but supports efficient unboxed iteration, Java interop. (#7458).unfold
Option
-returning operation, terminating onNone
.Iterator
(#6851).lengthIs
/.sizeIs
and.sizeCompare
xs.sizeIs < 10
,xs.sizeIs == 2
Map
methods deprecated.filterKeys
and.mapValues
(#7014)MapView
(e.g..view.filterKeys
).lazyZip
.zip
on views, this replaces.zipped
(now deprecated). (scala/collection-strawman#223).tapEach
method.updatedWith
andupdateWith
methods toMap
supdatedWith
is onimmutable.Map
,updateWith
is onmutable.Map
. (#7320, #7517).maxOption
,.minOption
,.maxByOption
,.minByOption
To learn more about the new APIs and how to adapt your code, consult:
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.
This PR has been generated by Mend Renovate. View repository job log here.