org.scala-lang:scala-library breaking changes
Every breaking API change we have recorded in org.scala-lang:scala-library on Maven Central: 1,648 breaking changes in 8 versions. Below are its newest 6 versions, removals and renames first, each with its source.
Newest change January 13, 2026
On this page
3.8.0
- Removed
scala.collection.ArrayOps.ArrayIterator.xs
scala.collection.ArrayOps.ArrayIterator.xs was removed in org.scala-lang:scala-library 3.8.0 central.sonatype.com - Removed
scala.collection.Searching.Found$.andThen
scala.collection.Searching.Found$.andThen was removed in org.scala-lang:scala-library 3.8.0 central.sonatype.com - Removed
scala.collection.Searching.Found$.compose
scala.collection.Searching.Found$.compose was removed in org.scala-lang:scala-library 3.8.0 central.sonatype.com - Removed
scala.collection.Searching.InsertionPoint$.andThen
scala.collection.Searching.InsertionPoint$.andThen was removed in org.scala-lang:scala-library 3.8.0 central.sonatype.com - Removed
scala.collection.Searching.InsertionPoint$.compose
scala.collection.Searching.InsertionPoint$.compose was removed in org.scala-lang:scala-library 3.8.0 central.sonatype.com - Signature changed
scala.$eq$colon$eq.liftCo
Was <F> scala..eq.colon.eq<F, F> liftCo(); now <F> scala..eq.colon.eq<Object, Object> liftCo(). central.sonatype.com - Signature changed
scala.$eq$colon$eq.liftContra
Was <F> scala..eq.colon.eq<F, F> liftContra(); now <F> scala..eq.colon.eq<Object, Object> liftContra(). central.sonatype.com - Signature changed
scala.$eq$colon$eq.substituteBoth
Was abstract <F> F substituteBoth(F); now abstract <F> Object substituteBoth(Object). central.sonatype.com - Signature changed
scala.$eq$colon$eq.substituteCo
Was <F> F substituteCo(F); now <F> Object substituteCo(Object). central.sonatype.com - Signature changed
scala.$eq$colon$eq.substituteContra
Was <F> F substituteContra(F); now <F> Object substituteContra(Object). central.sonatype.com
And 1,597 more in this version.
3.1.2-RC2
- Renamed
-Xtarget
Several compiler settings were renamed for consistency, so build scripts using the old names must be updated. github.com
3.1.1-RC1
- Removed
Plugin-related compiler settings were removed from the common settings set, so build configurations that pass them may need updating. github.com - Behavior changed
Code in other packages can no longer see members defined in the empty package. Move such members into a named package to keep them reachable. github.com
3.1.0-RC1
- Behavior changed
Secondary constructors marked inline are rejected by the compiler, so such code must drop the inline modifier. github.com
3.0.2-RC1
- Behavior changed
Uses Java member lookup rules for .java sources in org.scala-lang:scala-library 3.0.2-RC1 github.com - Behavior changed
Stops inserting semicolons in conditions unless indented in org.scala-lang:scala-library 3.0.2-RC1 github.com - Behavior changed
Stops emitting Java generic signatures for constructors in org.scala-lang:scala-library 3.0.2-RC1 github.com - Behavior changed
Hides problematic static forwarders in org.scala-lang:scala-library 3.0.2-RC1 github.com - Behavior changed
isInstanceOf
Restricts isInstanceOf[Null] checks in org.scala-lang:scala-library 3.0.2-RC1 github.com
3.0.1-RC1
- Behavior changed
Code that references self in a super constructor call now fails to compile. github.com - Signature changed
scala.collection.immutable.Nil.toArray
IArray.toArray is deprecated because it is broken. Stop calling it and use another way to convert the array. central.sonatype.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. A fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous maintenance.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcpCodex, Cursor and any MCP client use https://api.since.dev/mcp.