Skip to content

Commit 5f95d33

Browse files
committed
Merge pull request #134 from adriaanm/2.11.5
2.11.5 release notes
2 parents 124a847 + 4feae34 commit 5f95d33

File tree

5 files changed

+34
-38
lines changed

5 files changed

+34
-38
lines changed

build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name := "scala-release-note-generator"
22

3-
scalaVersion := "2.10.3"
3+
scalaVersion := "2.11.5"
44

55
libraryDependencies += "org.pegdown" % "pegdown" % "1.2.0"
6-
76
libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.1"
7+
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.0.3"
88

99
{
1010
require(sys.props("file.encoding") == "UTF-8", "Please rerun with -Dfile.encoding=UTF-8")

hand-written.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
We are very pleased to announce the release of Scala 2.11.4!
1+
We are very pleased to announce the release of Scala 2.11.5!
22

33
* Get started with the [Hello Scala 2.11 template](https://typesafe.com/activator/template/hello-scala-2_11) in [Typesafe Activator](https://typesafe.com/platform/getstarted)
4-
* Download a distribution from [scala-lang.org](http://scala-lang.org/download/2.11.4.html)
5-
* Obtain it via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.11.4%22)
4+
* Download a distribution from [scala-lang.org](http://scala-lang.org/download/2.11.5.html)
5+
* Obtain it via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.11.5%22)
66

7-
Scala 2.11.4 is a bugfix release that is binary compatible with previous releases in the Scala 2.11 series.
8-
The changes include:
7+
Scala 2.11.5 is a bugfix release that is binary compatible with previous releases in the Scala 2.11 series. We would like to highlight the following changes:
98

10-
* Scala shell (REPL) is more friendly to Crtl+D. It leaves your terminal in a clean state and suggests using `:quit` the next
11-
time (see [#3902](https://github.com/scala/scala/pull/3902). Kudos to [@gourlaysama](https://github.com/gourlaysama)!
12-
* REPL uses different colors when printing references to vals and types. Pass `-Dscala.color` to enable that behavior (see [#3993](https://github.com/scala/scala/pull/3993)). Thanks to [@puffnfresh](https://github.com/puffnfresh)!
13-
* [Scala specification](http://www.scala-lang.org/files/archive/spec/2.11/) received a fair amount of love and became much more beatiful. It has got syntax highlighting ([#3984](https://github.com/scala/scala/pull/3984)), linkable headers, and a side bar with TOC ([#3996](https://github.com/scala/scala/pull/3996)). A few final touches has been merged that fix typos and mistakes stemming from automatic Latex to Markdown conversion we've done a while ago. Thanks attention for details [@gourlaysama](https://github.com/gourlaysama), [@som-snytt](https://github.com/som-snytt) and [roberthoedicke](https://github.com/roberthoedicke)!
14-
* Non-deterministic pattern matching warnings has been fixed ([SI-7746](https://issues.scala-lang.org/browse/SI-7746)). Many thanks to [@gbasler](https://github.com/gbasler) for diving deep ([#3954](https://github.com/scala/scala/pull/3954])) into logical formulas constructed by our pattern matcher implementation!
9+
- @heathermiller's [SI-6502 Reenables loading jars into the running REPL](https://github.com/scala/scala/pull/4051)
10+
- @mpociecha's [The alternative, flat representation of classpath elements](https://github.com/scala/scala/pull/4176)
11+
- @gbasler's [Avoid the 'CNF budget exceeded' exception via smarter translation into CNF](https://github.com/scala/scala/pull/4078)
12+
- @adriaanm's [SAMmy: eta-expansion, overloading, existentials](https://github.com/scala/scala/pull/4101)
13+
- A great number of documentation improvements -- thank you (and, to those appearing for the first time in our release notes, welcome!): @kanielc, @lymia, @stevegury, @vigdorchik, @gourlaysama, @ichoran, @retronym, @xuwei-k, @dickwall, @phaller.
1514

16-
Compared to 2.11.2, this release resolves [54 issues](https://issues.scala-lang.org/issues/?jql=project%20%3D%20SI%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20in%20(%22Scala%202.11.3%22%2C%20%22Scala%202.11.4%22)%20ORDER%20BY%20component%20ASC%2C%20priority%20DESC). Out of 120, we merged 95 pull requests: [90 for 2.11.3](https://github.com/scala/scala/pulls?q=is%3Apr+is%3Amerged+milestone%3A2.11.3), and [5 for 2.11.4](https://github.com/scala/scala/pulls?q=is%3Apr+is%3Amerged+milestone%3A2.11.4).
15+
Compared to 2.11.4, this release resolves [74 issues](https://issues.scala-lang.org/issues/?jql=project%20%3D%20SI%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20in%20%28%22Scala%202.11.5%22%29%20ORDER%20BY%20component%20ASC%2C%20priority%20DESC). Out of 132, we [merged 110 pull requests](https://github.com/scala/scala/pulls?q=is%3Apr+is%3Amerged+milestone%3A2.11.5). Before upgrading, please also check the [known issues](https://issues.scala-lang.org/issues/?jql=project%20%3D%20SI%20AND%20status%3Dopen%20AND%20affectedVersion%20%3D%20%22Scala%202.11.5%22%20and%20fixVersion%20%3E%3D%20%22Scala%202.11.5%22%20ORDER%20BY%20component%20ASC%2C%20priority%20DESC) for this release.
1716

18-
The next minor Scala 2.11 release will be available before the end of the year, or sooner if prompted by a serious issue.
17+
In 2015, 2.11 minor releases will be released quarterly, or sooner if prompted by a serious issue.
1918

20-
### Do Not Use Scala 2.11.3
21-
Due to a [binary incompatibility](https://issues.scala-lang.org/browse/SI-8899) in Scala 2.11.3, we recommend upgrading to Scala 2.11.4, which resolves the incompatibility, as well as another [blocker issue](https://issues.scala-lang.org/browse/SI-8900) that was discovered in the days after the 2.11.3 release.
22-
23-
We have [analyzed](https://groups.google.com/d/msg/scala-internals/SSD9BNJaFbU/rACBkHrs2JEJ) the mistakes that lead to the breakage (human error), and are taking measures to prevent this from happening again. We apologize for the inconvenience, and thank everyone who was involved in reporting and diagnosing these critical issues.
19+
### Scala IDE
20+
The current release of Scala IDE includes Scala 2.11.5 is available on the [download site](http://scala-ide.org/download/sdk.html) (or as an update to version 4.0 of the plugin).
2421

2522
### Available Libraries and Frameworks
2623

2724
A large number of Scala projects have been released against Scala 2.11. Please refer to the list of [libraries and frameworks available for Scala 2.11](https://github.com/scala/make-release-notes/blob/2.11.x/projects-2.11.md).
2825

29-
A release of the Scala IDE that includes Scala 2.11.4 is available [on their download site](http://scala-ide.org/download/milestone.html).
26+
### Reminder: Do Not Use Scala 2.11.3
27+
Due to a [binary incompatibility](https://issues.scala-lang.org/browse/SI-8899) in Scala 2.11.3, we recommend upgrading to Scala 2.11.5, which resolves the incompatibility, as well as another [blocker issue](https://issues.scala-lang.org/browse/SI-8900) that was discovered in the days after the 2.11.3 release.
28+
29+
We have [analyzed](https://groups.google.com/d/msg/scala-internals/SSD9BNJaFbU/rACBkHrs2JEJ) the mistakes that lead to the breakage (human error), and are taking measures to prevent this from happening again. We apologize for the inconvenience, and thank everyone who was involved in reporting and diagnosing these critical issues.
3030

3131
### Release Notes for the Scala 2.11 Series
3232

@@ -39,5 +39,5 @@ The release notes for the Scala 2.11 series, which also apply to the current min
3939

4040
A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, participating in mailing lists and other public fora, and submitting and reviewing pull requests! You are all awesome.
4141

42-
According to `git shortlog -sn --no-merges v2.11.2..v2.11.4`, 35 people contributed to this minor release:
43-
Lukas Rytz, Adriaan Moors, Antoine Gourlay, A. P. Marki, Jason Zaugg, Robert Hoedicke, Eugene Burmako, Rex Kerr, Max Bileschi, Brian McKenna, Grzegorz Kossakowski, Maks Atygaev, Evgeny Vereshchagin, Simon Ochsenreither, Dominik Gruntz, Masato Sogame, Gerard Basler, Dan Garrette, Artem Stasuk, David Turner, Iulian Dragos, Jeroen ter Voorde, Kato Kazuyoshi, Konstantin Fedorov, Krystian Nowak, Lukas Elmer, Malte Isberner, Paolo Giarrusso, Paweł Wiejacha, Robert Hoedicke, dgruntz, Roman Janusz, harryhuk, Michał Pociecha.
42+
According to `git shortlog -sn --no-merges v2.11.4..v2.11.5`, 30 people contributed to this minor release:
43+
Jason Zaugg, Lukas Rytz, Michał Pociecha, A. P. Marki, Antoine Gourlay, Heather Miller, Adriaan Moors, Rex Kerr, Simon Ochsenreither, Gerard Basler, Denton Cockburn, Kenji Yoshida, Ye Xianjin, Guy Dickinson, Jean-Remi Desjardins, Alissa Rao, Lukasz Piepiora, Maxim Valyanskiy, Paolo Giarrusso, Philipp Haller, Rafał Krzewski, Eugene Vigdorchik, Rui Gonçalves, Erik Erlandson, Steve Gury, Teemu Lehtinen, Tim Harper, Dick Wall, Guillaume Martres, Grzegorz Kossakowski.

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=0.13.1
1+
sbt.version=0.13.7

src/main/scala/MakeDownloadPage.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class MakeDownloadPage(version: String, releaseDate: Date = new Date()) {
1616
// get size of `url` without actually downloading it
1717
def humanSize(url: String): Future[String] = future {
1818
import scala.sys.process._
19-
println(url)
19+
println("## fetching size of "+ url)
2020
scala.util.Try {
2121
val responseHeader = Process(s"curl -m 5 --silent -D - -X HEAD $url").lines
2222
val contentLength = responseHeader.find(_.startsWith("Content-Length"))
@@ -30,7 +30,7 @@ class MakeDownloadPage(version: String, releaseDate: Date = new Date()) {
3030
case Some((status, humanSize)) if status.contains("200 OK") || status.contains("302 Found") =>
3131
humanSize
3232
case _ =>
33-
println(s"warning: could not fetch $url")
33+
println(s"## warning: could not fetch $url")
3434
""
3535
}
3636
}

src/main/scala/MakeReleaseNotes.scala

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ object MakeReleaseNotes {
88
def genPR(prevVersion: String, version: String, release: String, gitDir: String = s"${sys.env("HOME")}/git/scala") = {
99
val date = new java.util.Date(release)
1010
new MakeDownloadPage(version, date).write()
11-
MakeReleaseNotes(new java.io.File(gitDir), s"v$prevVersion", s"v$version", MarkDown, date)
11+
MakeReleaseNotes(new java.io.File(gitDir), version, s"v$prevVersion", s"v$version", MarkDown, date)
1212
}
1313

1414
def write(page: String, version: String, releaseDate: Date, ext: String) = {
@@ -22,21 +22,21 @@ object MakeReleaseNotes {
2222

2323
if (ext == "md") {
2424
println(s"cp $fileName ../scala-lang/news/_posts/")
25-
println(s"don't forget to update ../scala-lang/download/index.md, ../scala-lang/documentation/api.md, ../scala-lang/documentation/_config.yml")
25+
println(s"# don't forget to\n${scala.util.Properties.envOrElse("EDITOR", "mate")} ../scala-lang/download/index.md ../scala-lang/documentation/api.md ../scala-lang/_config.yml")
26+
println("# and, to prepare and sanity check your scala-lang PR:")
2627
println(s"maruku --html $fileName")
27-
println("# to prepare and sanity check your scala-lang PR")
2828
}
2929
}
3030

31-
def apply(scalaDir: String, previousTag: String, currentTag: String, releaseDate: Date) {
32-
Seq(Html, MarkDown).foreach(fmt => apply(new java.io.File(scalaDir), previousTag, currentTag, fmt, releaseDate))
31+
def apply(scalaDir: String, version: String, previousTag: String, currentTag: String, releaseDate: Date) {
32+
Seq(Html, MarkDown).foreach(fmt => apply(new java.io.File(scalaDir), version, previousTag, currentTag, fmt, releaseDate))
3333
}
34-
def apply(scalaDir: java.io.File, previousTag: String, currentTag: String, targetLanguage: TargetLanguage = MarkDown, releaseDate: Date = new Date()): Unit = {
34+
def apply(scalaDir: java.io.File, version: String, previousTag: String, currentTag: String, targetLanguage: TargetLanguage = MarkDown, releaseDate: Date = new Date()): Unit = {
3535
val out = targetLanguage match {
3636
case Html => new java.io.File("release-notes.html")
3737
case MarkDown => new java.io.File(s"release-notes-${currentTag}.md")
3838
}
39-
val notes = makeReleaseNotes(scalaDir, previousTag, currentTag)(targetLanguage)
39+
val notes = makeReleaseNotes(scalaDir, version, previousTag, currentTag)(targetLanguage)
4040
write(notes, currentTag.dropWhile(_ == 'v'), releaseDate, targetLanguage.ext)
4141
}
4242

@@ -62,7 +62,7 @@ object MakeReleaseNotes {
6262
private def stripTripleDashedHtmlComments(s: String): String =
6363
s.replaceAll("""(?ims)<!---.*?-->""", "")
6464

65-
private def makeReleaseNotes(scalaDir: java.io.File, previousTag: String, currentTag: String)(implicit targetLanguage: TargetLanguage): String = {
65+
private def makeReleaseNotes(scalaDir: java.io.File, version: String, previousTag: String, currentTag: String)(implicit targetLanguage: TargetLanguage): String = {
6666
def rawHandWrittenNotes(file: java.io.File = new java.io.File(s"hand-written.md")): String = {
6767
val lines: List[String] = if (file.exists) {
6868
val src = Source.fromFile(file)
@@ -102,14 +102,10 @@ object MakeReleaseNotes {
102102
case MarkDown => s"""---
103103
layout: news
104104
post-type: announcement
105+
permalink: /news/$version
105106
title: "Scala ${currentTag drop 1} is now available!"
106107
---
107-
${rawHandWrittenNotes()}
108-
109-
${renderCommitterList}
110-
${renderFixedIssues}
111-
${renderCommitList}
112-
"""
108+
${rawHandWrittenNotes()}"""
113109
}
114110

115111
}

0 commit comments

Comments
 (0)