-
Notifications
You must be signed in to change notification settings - Fork 323
Scala 2.13 roadmap #612
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
Merged
Merged
Scala 2.13 roadmap #612
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
layout: news | ||
post-type: announcement | ||
title: Scala 2.13 roadmap | ||
by: Adriaan Moors | ||
permalink: /news/roadmap-2.13.html | ||
--- | ||
|
||
On behalf of the Scala team at Lightbend, I'd like to share our plans with you, and invite you to join us in shaping Scala's roadmap for 2017. As this is a collective effort, and roadmaps evolve, we've decided to use our development issue tracker to organize our thoughts and open up the discussion for your feedback. Below is the overview of what we plan to work on. Please join the discussion on the [roadmap theme issue](https://github.com/scala/scala-dev/issues/324) or any of the issues linked below! | ||
|
||
The next release of Scala will focus on the following themes: | ||
|
||
- [compiler performance](https://github.com/scala/scala-dev/labels/t%3Aperformance) | ||
- [simplifying the collections](https://github.com/scala/scala-dev/labels/t%3Acollections) | ||
- [modularizing the standard library](https://github.com/scala/scala-dev/labels/t%3Amodularize) | ||
- [user-friendliness](https://github.com/scala/scala-dev/labels/t%3Afriendliness) | ||
|
||
We intend to shorten the development cycle a little compared to 2.12, with the first 2.13 release candidate slated for the end of Q1 2018. In 2017, we will release quarterly 2.13 [milestones](https://github.com/scala/scala/milestones) so you can get a good sense of the library changes. While Scala 2.11 will come to a halt with 2.11.9 in Q1 2017, we will maintain 2.12 with regular minor releases throughout 2017. | ||
|
||
<!-- break --> | ||
|
||
In collaboration with the Scala Center, as outlined in [SCP-007: Collaborative redesign and implementation of Scala 2.13's collections library](https://github.com/scalacenter/advisoryboard/blob/master/proposals/007-collections.md) and [Stefan's blog post](http://scala-lang.org/blog/2017/02/28/collections-rework.html), the collections library rework effort has kicked off at https://github.com/scala/collection-strawman. Our goal is to simplifying usage and improve performance, with a smooth migration path from the current collections. Please [join](https://github.com/scala/collection-strawman) and help shape one of the defining parts of Scala! | ||
|
||
In tandem, the modularisation of the standard library (begun with Scala 2.11) will continue as part of the [Scala Platform process](https://www.scala-lang.org/blog/2016/11/28/spp.html), to foster innovation in our eco-system while maintaining a stable core. The core consists of the collections and the other standard types, such as `Option`, `TupleN`, `Either` and `Try`. Ultimately, we'd like provide even stronger binary compatibility guarantees for the core, with a vibrant complement of modules that evolve more quickly (offering only backwards compatibility). [Discuss this theme]( https://github.com/scala/scala-dev/issues/323). | ||
|
||
Scala 2.13 is a library release, which means the language itself won't see big changes. However, we continue to invest heavily in the implementation, with a single goal: the make the compiler faster. The first phase of this work involves benchmarking infrastructure, to guide our progress towards a faster compiler. After that, we will attack slowness on all fronts with all available tools. In addition to YourKit and other JVM profilers, which we have been using intensively over the years, we now have a JMH benchmarking harness for the compiler. We are also investigating lower-level performance (cpu caches, memory access patterns, JIT profiles, etc). We are eager to hear your ideas at the compiler performance theme issue. Please head over to https://github.com/scala/compiler-benchmark for the benchmarks and the issue tracker, or [discuss this theme here](https://github.com/scala/scala-dev/issues/322). | ||
|
||
Finally, there are [many more things](https://github.com/scala/scala-dev/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.13+label%3Awishlist) we'd like to include in 2.13. Let us know if you'd like to work on one of these. We're always happy to help! We're always happy to help! In addition to GitHub, you'll find us on [Scala Contributors](http://contributors.scala-lang.org) (forum) and [scala/contributors](https://gitter.im/scala/contributors) (chat). |
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to see the binary compatibility bits mentioned here.