- Migrate all assignments to Scala 2.13.5
- Migrate Spark assignments to Spark 3.2 to support Scala 2.13
- Implement Windows compatibility tests for assignments in the CI
- Worked on the Scala 3 version of the courses
Effective Programming in Scala (new course)
- The video lectures of our upcoming course Effective Programming in Scala are being edited.
- Improved the content of the assignments based on the feedback received from the beta testers.
- Posted a scala contributor post to learn more about this new course aiming at turning “non-Scala” developers into “job-ready” Scala developers.
Scala Debug Adapter
- Released the version 1.0.0 of the scala-debug-adapter library and the sbt-debug-adapter plugin.
- Integrated the sbt-debug-adapter plugin in Metals to enable debug capabilities when using sbt server. Released in Metals 0.10.0.
Scala 3 compiler
improve java interop in Dotty
Enable initialization check on community projects (#11385)
Design of new header format for a TASTy file.
- stores the compiler version
- version mismatch errors give advice on how to upgrade tooling.
- released in Scala 3.0.0-RC1 on 17th February.
- Scala.js for Scala 3: fixed major issue in the JUnit support
- Released Scala.js 1.5.0, with major bug fixes, notably related to module splitting
- Scala.js: Fixed several issues related to floating point numbers (accuracy, parsing, formatting); to be ported to Scala Native
- Allowed to compile Scala Native to a native shared library (PR #2145)
- Added support for Scala 2.13.5 (#2170)
- Added support for testing Scala Native against a selection of scala-partest tests(#2154)
- Allowed for cross-compiling Scala Native build tools, eg.: optimizer and linker, with Scala 2.11 and 2.13 (#2156)
- Fixed invalid check for boxed pointers (#2133), this should allow the decreasing number of not-needed allocations
- Added partial implementation for
java.nio.Channelsand missing stub methods that cannot be currently implemented (#2141)
- Fixed invalid boxing of return types in lambdas causing undefined behaviour (#2144)
- Methods with missing NIR definitions should now be correctly reported, even if they’re not declared as stubs (#2162)
- Fixed performance regession in
- Fixed performance regression observed in Scala 2.11 and 2.12 collections (#2168)
TASTy Reader for Scala 2
- Added support for Scala 3.0.0-RC1, released in Scala 2.13.5 on February 22nd
TASTy Manipulation Library
- Added an unpickler for the AST section which can read simple classes
- Added a command to help migrating scalacOptions:
- Added a command to help migrating libs:
- Fix a high allocation rate when computing infered types and implicits
- Handle special cases of cyclic types/symbols
- Released Scalafix v.0.9.26
- Scalameta parser now fully supports Scala 3 syntax
- Metals release 0.10.0 with multiple improvements and features:
- Insert inferred type refactoring
- Type decorations for definitions.
- Scala 2.13.5 and 3.0.0-RC1 support
- Multiple Scala 3 support improvements
- Fixed a bug related to Tasty files management.
- Fixed scaladoc resolution when Scala version is 3.0.0-RC1.
- Improved the size of the messages saying that the sbt server is running.
- Testing sbt 1.5.0-M2 in the Dotty repository and community build. Planning for the release.
Scala 3 Migration Guide
- Upgraded to 3.0.0-RC1 and 2.13.5.
- Added incompatibilities about case class companions and unsoundess fixes in pattern matching.
- Upgraded to elasticsearch 7.10.2.
- Moved to a new virtual machine with better settings.
- Released a sbt-version-policy:1.0.0-RC5 an sbt plugin that helps library authors to follow the recommended versioning scheme.
- Released sbt-missinglink v0.3.2, which enables parallel execution of the missinglink analyses
Google Summer of Code
- Gather a small team of 18 mentors consisting of members of the Scala Center but also of community contributors.
- Gather a list of 26 project ideas from mentors
- Fill Application Form
- Publish project ideas (here)
Let’s Talk about Scala 3 - Video production
- Two videos have been recorded with the help of 47 Degrees
- First video released “Setting up your development environment with Coursier”, by Leric Loots, with 163 live views, and stunning 1,354 views in 4 days since its launch!
- Blogpost about tuples
- Co-authored with Eugene Yokota a blog explaining that if all libraries were using the recommended versioning scheme, we could more reliably detect incompatibilities caused by conflicting transitive dependencies
- Conducted and analysed the “Scala 3 Developer’s Preview Survey” results, and published a blog