Skip to content

0.1.2 series announcement #2627

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 52 commits into from
May 31, 2017
Merged
Show file tree
Hide file tree
Changes from 44 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
f6e85c4
Start writing release anouncement.
DarkDimius May 30, 2017
c3d2f79
Fixes to announcement.
DarkDimius May 30, 2017
31300fe
Fix lists.
DarkDimius May 30, 2017
834ab83
Various rewordings/improvements
smarter May 30, 2017
602d4af
Fix version numbers + add a stub version numbers page.
DarkDimius May 30, 2017
0bc9f28
Version number clarifications
smarter May 30, 2017
0aa1d1b
Merge branch 'anounce-0.1.2' of github.com:dotty-staging/dotty into a…
DarkDimius May 30, 2017
bc0509b
Improvement to version numbers
smarter May 30, 2017
ad9d2ce
version-numbers.md: Explain promotion
smarter May 30, 2017
21cbd7d
Add community build section.
DarkDimius May 30, 2017
38a939c
Merge branch 'anounce-0.1.2' of github.com:dotty-staging/dotty into a…
DarkDimius May 30, 2017
5f8b9fe
Slightly improved wording
smarter May 30, 2017
1542551
Start writing release notes.
DarkDimius May 30, 2017
ee90df1
Merge branch 'anounce-0.1.2' of github.com:dotty-staging/dotty into a…
DarkDimius May 30, 2017
21208fa
Mention @vsalvis
DarkDimius May 30, 2017
f1592db
Start adding links to release notes.
DarkDimius May 30, 2017
395152d
Finish adding links.
DarkDimius May 30, 2017
fa04da3
Work on release notes.
DarkDimius May 30, 2017
0f2f4cf
Release notes.
DarkDimius May 30, 2017
2ee841e
0.1.2.md: Fix formatting
smarter May 30, 2017
4e5979a
release notes: Dottydoc + fixes to markdown.
DarkDimius May 30, 2017
0e6d835
Merge branch 'anounce-0.1.2' of github.com:dotty-staging/dotty into a…
DarkDimius May 30, 2017
4543672
Fix markdown.
DarkDimius May 30, 2017
93da79a
release-notes: Slight wording improvements
smarter May 30, 2017
3b7de6a
Update
nicolasstucki May 30, 2017
16d06c7
Add section on IDE
smarter May 30, 2017
fb64db9
Update
nicolasstucki May 30, 2017
c6a26ad
Polish wording
odersky May 30, 2017
dcbbc42
Merge branch 'anounce-0.1.2' of https://github.com/dotty-staging/dott…
odersky May 30, 2017
cd64432
Update 0.1.2.md
nicolasstucki May 30, 2017
1c91058
Update 0.1.2.md
nicolasstucki May 30, 2017
85fb63f
Update 0.1.2.md
nicolasstucki May 30, 2017
9aa9b2b
Update 0.1.2.md
DarkDimius May 30, 2017
e7695b4
Fix github ids
DarkDimius May 31, 2017
e7d4874
Fix github ids
DarkDimius May 31, 2017
9943fda
Fix small typos
DarkDimius May 31, 2017
03a8132
Update
nicolasstucki May 31, 2017
7ff28e9
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
787d7cc
Update 0.1.2.md
DarkDimius May 31, 2017
3b222c6
Update 0.1.2.md
nicolasstucki May 31, 2017
5e0757c
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
e093465
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
3b8f3c7
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
288042a
Update 2017-05-31-first-dotty-milestone-release.md
DarkDimius May 31, 2017
c458a0b
Polish
DarkDimius May 31, 2017
f12ed54
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
89441d4
Update 2017-05-31-first-dotty-milestone-release.md
nicolasstucki May 31, 2017
d2182bb
Update 0.1.2.md
nicolasstucki May 31, 2017
8626416
Update
nicolasstucki May 31, 2017
1f3f7b8
Fixes based on feedback.
DarkDimius May 31, 2017
ec21aa9
Merge branch 'anounce-0.1.2' of github.com:dotty-staging/dotty into a…
DarkDimius May 31, 2017
53db509
Fix capitalization.
DarkDimius May 31, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions docs/blog/_posts/2017-05-31-first-dotty-milestone-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
layout: blog-page
title: Announcing Dotty 0.1.2-RC1, a major step towards Scala 3
author: Dmytro Petrashko
authorImg: /images/petrashko.jpg
---

Today, we excited to release Dotty version 0.1.2-RC1. This release
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we are excited

serves as a technology preview that demonstrates new language features
and the compiler supporting them.


<!--more-->

## Why is this important?

_Dotty_ is the project name for a language and compiler that
is slated to become Scala 3.0. This is an ongoing development,
developed transparently as open source software. The Dotty project
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

transparently developed (also avoids the immediate repetition of "development" followed by "developed")

started more than 4 years ago. It reached a major milestone in 2015 by
achieving
[bootstrap](http://dotty.epfl.ch/blog/2015/10/23/dotty-compiler-bootstraps.html),
that is, showing that the new compiler could compile itself. Today we
have reached another milestone with this first release of the
codebase. Developments will not stop here, but they will in the future
all be part of regular time-based releases.

## How can you try it out?

You have several alternatives: use the `sbt-dotty` plugin, get a standalone
installation, or try it online on [Scastie].

### sbt
Using sbt 0.13.13 or newer, do:

```
sbt new lampepfl/dotty.g8
```

This will setup a new sbt project with Dotty as compiler. For more details on
using Dotty with sbt, see the
[example project](https://github.com/lampepfl/dotty-example-project).

### Standalone installation

Releases are available for download on the _Releases_
section of the Dotty repository: https://github.com/lampepfl/dotty/releases.

We also provide a [homebrew](https://brew.sh/) package that can be installed by running

```
brew install lampepfl/brew/dotty
```

### Scastie

[Scastie], the online Scala playground,
supports Dotty.
You can try it out there without installing.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say "without installing anything", otherwise it looks like a word is missing from the sentence.


# What’s in the 0.1.2-RC1 technology preview?
This technology preview demonstrates new language features planned for Scala 3:

- [Intersection Types](http://dotty.epfl.ch/docs/reference/intersection-types.html)
- [Union Types](http://dotty.epfl.ch/docs/reference/union-types.html)
- [Trait Parameters](http://dotty.epfl.ch/docs/reference/trait-parameters.html)
- [Enumerations](http://dotty.epfl.ch/docs/reference/enums.html)
- [Algebraic Data Types](http://dotty.epfl.ch/docs/reference/adts.html)
- [By-Name Implicits](http://dotty.epfl.ch/docs/reference/implicit-by-name-parameters.html)

We also ship with tools that help you try out the Dotty platform:

- [IDE features for Visual Studio Code](http://dotty.epfl.ch/docs/usage/ide-support.html)
- [sbt support, including retro-compatibility with Scala 2](https://github.com/lampepfl/dotty-example-project)

See here for the full [release notes](http://dotty.epfl.ch/docs/release-notes/0.1.2.html).

## Release schedule

We are adopting a time-based release schedule:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Starting from this release, we are adopting ...

- Nightly builds will be published, for those wanting to be at the forefront of
development.
- Every 6 weeks, a release candidate will be cut based on the last nightly build,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

last -> latest

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also "... nightly build. The release candidates ..." (so period + start new sentence)

the release candidates let library authors test their code in advance of each
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why only library authors and not app authors?

release. Multiple release candidates may be released during each 6 weeks
period to fix regressions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you really want to mention those nitty-gritty details in the blog post? I would make this bullet much shorter. Something like:

  • Every 6 weeks, a release candidate will be cut, for testing purposes.

- Every 6 weeks, the last release candidate becomes a release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

last -> latest


At the end of 6 weeks, the milestone will be promoted to a stable release.
See here for the full [version number explanation](http://dotty.epfl.ch/docs/usage/version-numbers.html).

## What are the next steps?

Over the coming weeks and months, we plan to work on the following topics:

- [Integrate Local optimizations developed in Dotty linker](https://github.com/lampepfl/dotty/pull/2513);
- [Add Language-level support for HMaps and HLists](https://github.com/lampepfl/dotty/pull/2199);
- [Port global optimizations from Dotty linker](https://github.com/lampepfl/dotty/pull/1840).

If you want to get your hands dirty with any of this, now is a good
moment to get involved! Join the team of contributors, including
Martin Odersky ([@odersky](https://twitter.com/odersky))
Dmitry Petrashko ([@DarkDimius](https://twitter.com/DarkDimius)),
Guillaume Martres ([@smarter](https://github.com/smarter)),
Felix Mulder ([@felixmulder](https://twitter.com/felixmulder)),
Nicolas Stucki ([@nicolasstucki](https://github.com/nicolasstucki)),
Liu Fengyun ([@liufengyun](https://github.com/liufengyun)),
Olivier Blanvillain ([@OlivierBlanvillain](https://github.com/OlivierBlanvillain)),
and others!

## Library authors: Join our community build

Dotty now has a set of libraries that are built against every nightly snapshot.
Currently this includes scalatest, squants and algebra.
Join our [community build](https://github.com/lampepfl/dotty-community-build)
to make sure that our regression suite includes your library.


To get started, see <https://github.com/lampepfl/dotty>.


[Scastie]: https://scastie.scala-lang.org/?target=dotty
197 changes: 197 additions & 0 deletions docs/docs/release-notes/0.1.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
---
layout: doc-page
title: 0.1.2 release notes
---

0.1.2 will be the first public release of Dotty.
Being first, those notes are incomplete.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Being the first one,

This document is work in progress until 0.1.2-final is released.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document is a work in progress

This note is up-to-date based on 0.1.2-RC1 and will be updated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These notes are

with changes that happen during RC stabilization cycle.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

during the RC stabilization cycle


# Required Java Version

Dotty 0.1.2 targets Java 8. We don't have plans so far to add support for earlier versions of Java.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove "so far". I very much doubt you will ever reconsider this.


# IDE support for Dotty

# Reporting Bugs / Known Issues

Please [file](https://github.com/lampepfl/dotty/issues) any bugs you encounter. If you’re unsure whether something is a bug,
please ask on Dotty [gitter channel](https://github.com/lampepfl/dotty).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on the Dotty gitter channel


# SBT builds dotty that builds dotty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

??



# Dotty Doc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that the official spelling? Because there's been JavaDoc, Scaladoc, and now Dotty Doc.


Dotty has added support for Dotty Doc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does that even mean? Consider something that's not "something happened in the past" but more like "something is true now". For example "Documentation for Dotty libraries are made with Dotty Doc." or any other present-tense description.

Actually, the dotty documentation site [http://dotty.epfl.ch/docs/](http://dotty.epfl.ch/docs/) is generated by it.
Looks nice, doesn't it?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use a slanted quote ’ like you use elsewhere in this document.


#Other implemented features:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some Markdown processors will not like the absence of space after #.


This release ships with the following features:

- TASTY support by [@odersky], [@xeno-by] and [@darkdimius] [\[1\]][1]
- HK-types support by [@odersky], [@smarter] and [@darkdimius] [\[2\]][2]
- Intersection and Union Types by [@odersky] [\[3\]][3] [\[4\]][3]
- Enumerations by [@odersky] [\[4\]][4] [\[5\]][5] [\[6\]][6]
- Implicit By-Name Parameters by [@odersky] [\[7\]][7]
- Miniphases-based design by [@darkdimius], [@odersky] and [@olhotak] [\[8\]][8]
- @static methods support by [@darkdmius] [\[9\]][9]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider surrounding @static with backticks `

- Non-blocking lazy vals by [@darkdimius] [\[10\]][10]
- JVM code emission by [@magarciaEPFL] and [@darkdimius] [\[11\]][11]
- efficient multi-dimensional array allocation by [@darkdimius] [\[12\]][12]
- default-method based trait composition [@odersky] and [@darkdimius] [\[13\]][13] [\[14\]][14]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Efficient, Default.

Be consistent in your casing. Always start a bullet with an uppercase.

- Trait parameters by [@odersky] [\[15\]][15]
- Working contravariant implicits by [@odersky] [\[16\]][16]
- Option-less pattern matching by [@odersky], [@darkdimius] and [@OlivierBlanvillain] [\[17\]][17]
- SAM-based anonymous functions by [@magarciaEPFL], [@darkdimius] and [@retronym] [\[18\]][18]
- Patter matching support by [@darkdimius] [\[19\]][19]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pattern

- Value classes support by [@smarter] and [@darkdimius] [\[20\]][20]
- Pattern matching exhaustively checks by [@liufengyun] [\[21\]][21]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

exhaustivity

- Tailrec optimization by [@darkdimius] [\[22\]][22] [\[23\]][23]
- VS code protocol implementation by [@smarter] [\[24\]][24]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should that be "Language server protocol"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.

- VS code plugin by [@smarter] [\[24\]][24]
- Vulpix: new test-suite by [@felixmulder] that replaces partest by [@vsalvis] [\[25\]][25]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new test-suite driver? Or something like that. It reads as if you have replaced the tests of the test suite.

- java parser by [@olhotak] [\[26\]][26]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Java

- local optimizations(-optimise) by [@darkdimius] and [@OlivierBlanvillain] [\[27\]][27]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Local

and space before "(-optimize)"

- sbt support by [@smarter] [\[28\]][28]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Special case: this needs to stay lowercase "sbt" since sbt is an all-lowercase proper noun.

- DottyDoc by [@felixmulder] [\[29\]][29]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Difference spelling of DottyDoc here.

- Implicit Function Types by [@odersky] [\[30\]][30]
- Phantom Types by [@nicolasstucki] [\[31\]][31]
- Functions with more than 22 parameters by [@odersky] [\[32\]][32]
- Inline keyword by [@odersky] [\[33\]][33]

[@odersky]: https://twitter.com/odersky
[@DarkDimius]: https://twitter.com/DarkDimius
[@smarter]: https://github.com/smarter
[@felixmulder]: https://twitter.com/felixmulder
[@nicolasstucki]: https://github.com/nicolasstucki
[@liufengyun]: https://github.com/liufengyun
[@OlivierBlanvillain]: https://github.com/OlivierBlanvillain
[@olhotak]: https://plg.uwaterloo.ca/~olhotak/
[@retronym]: https://github.com/retronym
[@xeno-by]: https://github.com/xeno-by
[@vsalvis]: https://github.com/vsalvis
[@magarciaEPFL]: https://github.com/magarciaEPFL

[1]: https://docs.google.com/document/d/1h3KUMxsSSjyze05VecJGQ5H2yh7fNADtIf3chD3_wr0/edit
[2]: https://infoscience.epfl.ch/record/222780?ln=en
[3]: http://dotty.epfl.ch/docs/reference/intersection-types.html
[4]: http://dotty.epfl.ch/docs/reference/union-types.html
[5]: http://dotty.epfl.ch/docs/reference/adts.html
[6]: http://dotty.epfl.ch/docs/reference/desugarEnums.html
[7]: http://dotty.epfl.ch/docs/reference/implicit-by-name-parameters.html
[8]: https://infoscience.epfl.ch/record/228518
[9]: http://docs.scala-lang.org/sips/pending/static-members.html
[10]: http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html
[11]: http://magarciaepfl.github.io/scala/
[12]: https://github.com/lampepfl/dotty/commit/b2215ed23311b2c99ea638f9d7fcad9737dba588
[13]: https://github.com/lampepfl/dotty/pull/187
[14]: https://github.com/lampepfl/dotty/pull/217
[15]: http://dotty.epfl.ch/docs/reference/trait-parameters.html
[16]: https://github.com/lampepfl/dotty/commit/89540268e6c49fb92b9ca61249e46bb59981bf5a
[17]: https://github.com/lampepfl/dotty/pull/174
[18]: https://github.com/lampepfl/dotty/pull/488
[19]: https://github.com/lampepfl/dotty/pull/174
[20]: https://github.com/lampepfl/dotty/pull/411
[21]: https://github.com/lampepfl/dotty/pull/1364
[22]: https://github.com/lampepfl/dotty/pull/1227
[23]: https://github.com/lampepfl/dotty/pull/117
[24]: https://github.com/lampepfl/dotty/pull/2532
[25]: https://github.com/lampepfl/dotty/pull/2194
[26]: https://github.com/lampepfl/dotty/pull/213
[27]: https://github.com/lampepfl/dotty/pull/2513
[28]: https://github.com/lampepfl/dotty/pull/2361
[29]: https://github.com/lampepfl/dotty/pull/1453
[30]: http://dotty.epfl.ch/docs/reference/implicit-function-types.html
[31]: https://github.com/lampepfl/dotty/pull/2136
[32]: https://github.com/lampepfl/dotty/pull/1758
[33]: http://dotty.epfl.ch/docs/reference/inline.html

# Contributors
Dotty team and contributes have closed 750 issues and has merged a total of 1258 pull requests.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Dotty team and contributors ... and have merged


Concretely, according to

```
git ls-tree -r -z --name-only HEAD -- |egrep -z -Z -E '\.(scala)$'| xargs -0 -n1 git blame --line-porcelain |grep "^author "|sort|uniq -c|sort -nr
```
71 people contributed code, tests, and/or documentation to Dotty 0.1.2-RC1.
The following people have contributed to this release:

| commits | blame lines | Name |
|---------|-------------|-----------------------------|
| 4346 | 82017 | Martin Odersky |
| 1288 | 83070 | Dmitry Petrashko |
| 19 | 35382 | Samuel Gruetter |
| 826 | 20148 | Felix Mulder |
| 567 | 10454 | Guillaume Martres |
| 136 | 5311 | liu fengyun |
| 189 | 4449 | Nicolas Stucki |
| 21 | 3717 | Sébastien Doeraene |
| 30 | 1711 | Ondrej Lhotak |
| 33 | 1094 | Enno Runne |
| 47 | 735 | Olivier Blanvillain |
| 4 | 480 | Valthor Halldorsson |
| 7 | 343 | Aleksander Boruch-Gruszecki |
| 25 | 220 | VladimirNik |
| 3 | 186 | Enno |
| 8 | 143 | Clemens Winter |
| 16 | 133 | Jason Zaugg |
| 3 | 116 | Miron Aseev |
| 4 | 109 | Shane Delmore |
| 5 | 100 | Alexander Myltsev |
| 5 | 96 | Abel Nieto |
| 1 | 92 | Dmitry Melnichenko |
| 22 | 88 | Jonathan Brachthäuser |
| 5 | 87 | Guillaume Massé |
| 20 | 75 | vsalvis |
| 2 | 64 | Tobias Schlatter |
| 4 | 51 | Ólafur Páll Geirsson |
| 4 | 49 | Sebastian Harko |
| 2 | 48 | Andrew Zurn |
| 3 | 44 | jvican |
| 1 | 43 | Jarrod Janssen |
| 1 | 43 | Igor Mielientiev |
| 2 | 35 | Thiago Pereira |
| 5 | 32 | Martijn Hoekstra |
| 1 | 26 | Bartosz Krasiński |
| 1 | 24 | Adam Trousdale |
| 10 | 22 | Aggelos Biboudis |
| 12 | 20 | Paolo G. Giarrusso |
| 1 | 17 | Jon-Anders Teigen |
| 17 | 16 | Vlad Ureche |
| 1 | 16 | Jyotman Singh |
| 4 | 15 | Lucas Burson |
| 1 | 12 | Markus Hauck |
| 3 | 11 | Varunram Ganesh |
| 2 | 11 | Reto Hablützel |
| 3 | 10 | Allan Renucci |
| 4 | 9 | Sarunas Valaskevicius |
| 2 | 9 | Nikolay.Tropin |
| 1 | 9 | Csongor Kiss |
| 2 | 7 | dos65 |
| 2 | 6 | Varunram |
| 6 | 5 | Nada Amin |
| 1 | 4 | ruben |
| 1 | 4 | Kazuyoshi Kato |
| 1 | 3 | Jonathan Rodriguez |
| 1 | 3 | andreaTP |
| 1 | 1 | AlexSikia |
| 3 | 0 | Edmund Noble |
| 2 | 0 | jvican |
| 3 | 0 | Allan Renucci |
| 3 | 0 | Senia-psm |
| 2 | 0 | Lukas Rytz |
| 2 | 0 | Jan Christopher Vogt |
| 2 | 0 | Raymond Tay |
| 1 | 0 | Matthias Sperl |
| 1 | 0 | Herdy Handoko |
| 1 | 0 | Grzegorz Kossakowski |
| 1 | 0 | George Leontiev |
| 1 | 0 | Sandro Stucki |
| 1 | 0 | Adriaan Moors |
| 1 | 0 | Simon Hafner |
14 changes: 14 additions & 0 deletions docs/docs/usage/version-numbers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: doc-page
title: "Version numbers"
---

Dotty uses multiple schemes for version numbering.

Stable releases have version numbers of the form `0.${x}.${y}`, where x is a main version and y is a bug-fix update id.

Release candidates version numbers have the form `0.${x}.${y}-RC${z}`. Release candidates are updated by incrementing `${z}`.
Every 6 weeks, the latest release candidate is promoted to stable and becomes version `0.${x}.${y}`.

Nightlies have version numbers of the form `0.${x}.${y}-bin-${date}-${sha}-NIGHTLY`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't -bin be present everywhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK -bin isn't needed in case version doesn't look like NIGHTLY or SNAPSHOT. SBT magic.

Every 6 weeks, the latest nightly is promoted to release candidate becomes version `0.${x}.${y}-RC1`.