Skip to content

Commit

Permalink
Release Scala Native 0.4.6
Browse files Browse the repository at this point in the history
  • Loading branch information
WojciechMazur committed Sep 1, 2022
1 parent 605f840 commit c7dcd53
Show file tree
Hide file tree
Showing 4 changed files with 180 additions and 3 deletions.
176 changes: 176 additions & 0 deletions docs/changelog/0.4.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@

# 0.4.6 (2022-09-01)

We're happy to announce the release of Scala Native 0.4.6.
The new release brought support for Scala 3.2.0 and multiple bug fixes.

## Scala 3.2.0 support
The new version of Scala Native is now supporting Scala 3.2.0.
The latest release of Scala introduced a change to the internal implementation of lazy vals.
These changes were not compatible with previous releases of the Scala Native compiler plugin.

The latest Scala Native standard library *does not* enforce an upgrade to Scala 3.2.0.
All artifacts are still published using Scala 3.1.x.
It also includes the Scala 3 standard library, which is now based on the sources of Scala 3.2.0.
The publishing model of native artifacts of Scala 3 standard library is currently flawed.
Artifacts are not cross-compiled for each Scala 3 version. Instead, we (maintainers), are forced on choosing only 1 version of Scala 3 sources.
Fortunately, Scala 3.2.0 standard library fully sources compatible with 3.1.x releases.
This oversight would be fixed in the next major version of Scala Native.

Scala standard library used by this release is based on the following versions:
<table>
<tbody>
<tr>
<td>Scala binary version</td>
<td>Scala release</td>
</tr>
<tr>
<td align="center">2.11</td>
<td align="center">2.11.12</td>
</tr>
<tr>
<td align="center">2.12</td>
<td align="center">2.12.16</td>
</tr>
<tr>
<td align="center">2.13</td>
<td align="center">2.13.7</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">3.2.0</td>
</tr>
</tbody>
</table>

<table>
<tbody>
<tr>
<td>Commits since last release</td>
<td align="center">47</td>
</tr>
<tr>
<td>Merged PRs</td>
<td align="center">50</td>
</tr>
<tr>
<td>Contributors</td>
<td align="center">8</td>
</tr>
</tbody>
</table>

## Contributors

Big thanks to everybody who contributed to this release or reported an issue!

```
$ git shortlog -sn --no-merges v0.4.5..v0.4.6
16 Arman Bilge
13 Wojciech Mazur
11 LeeTibbert
3 Eric K Richardson
1 James You
1 João Costa
1 Yilin Wei
1 yuly16
```

## Merged PRs

## [v0.4.6](https://github.com/scala-native/scala-native/tree/v0.4.6) (2022-09-01)

[Full Changelog](https://github.com/scala-native/scala-native/compare/v0.4.5...v0.4.6)

**Merged pull requests:**

### Java standard library
- Drop empty elements in `Paths.get`
[\#2745](https://github.com/scala-native/scala-native/pull/2745)
([armanbilge](https://github.com/armanbilge))
- `Path` extends `Watchable`
[\#2749](https://github.com/scala-native/scala-native/pull/2749)
([armanbilge](https://github.com/armanbilge))
- Port `CopyOnWriteArrayList` from Scala.js
[\#2725](https://github.com/scala-native/scala-native/pull/2725)
([armanbilge](https://github.com/armanbilge))
- Extract `getCanonicalHostName` from `getHostName`
[\#2752](https://github.com/scala-native/scala-native/pull/2752)
([armanbilge](https://github.com/armanbilge))
- Port `InflaterOutputStream` from Android Luni
[\#2748](https://github.com/scala-native/scala-native/pull/2748)
([armanbilge](https://github.com/armanbilge))
- Add `java.nio.ch.CompletionHandler`
[\#2796](https://github.com/scala-native/scala-native/pull/2796)
([armanbilge](https://github.com/armanbilge))
- Add `java.net.ProtocolException`
[\#2791](https://github.com/scala-native/scala-native/pull/2791)
([armanbilge](https://github.com/armanbilge))
- Add `j.u.s.Stream#forEach`
[\#2747](https://github.com/scala-native/scala-native/pull/2747)
([armanbilge](https://github.com/armanbilge))
- Implement `UUID.randomUUID()` using `java.security.SecureRandom`
[\#2759](https://github.com/scala-native/scala-native/pull/2759)
([armanbilge](https://github.com/armanbilge))
- Fix #2814: Port and extend StandardSocketOptions
[\#2816](https://github.com/scala-native/scala-native/pull/2816)
([LeeTibbert](https://github.com/LeeTibbert))

### Posix bindings
- Add `SO_REUSEPORT`
[\#2806](https://github.com/scala-native/scala-native/pull/2806)
([armanbilge](https://github.com/armanbilge))
- Handle null args to `accept`
[\#2807](https://github.com/scala-native/scala-native/pull/2807)
([armanbilge](https://github.com/armanbilge))
- Add `getpeername`
[\#2812](https://github.com/scala-native/scala-native/pull/2812)
([armanbilge](https://github.com/armanbilge))
- Fix #2717: Provide missing POSIX symbol EADDRNOTAVAIL
[\#2718](https://github.com/scala-native/scala-native/pulql/2718)
([LeeTibbert](https://github.com/LeeTibbert))
- Fix #2706: Implement clock methods and test cases, complete time.h
[\#2713](https://github.com/scala-native/scala-native/pull/2713)
([LeeTibbert](https://github.com/LeeTibbert))

### Scala Native standard library
- Add `LinktimeInfo.is{FreeBSD,Mac,Linux}`
[\#2809](https://github.com/scala-native/scala-native/pull/2809)
([armanbilge](https://github.com/armanbilge))

### Scala Native compiler plugin
- Fixes to usage of structural types in Scala 3
[\#2737](https://github.com/scala-native/scala-native/pull/2737)
([WojciechMazur](https://github.com/WojciechMazur))
- Use correct parameters lists when generating extern methods in Scala 3
[\#2736](https://github.com/scala-native/scala-native/pull/2736)
([WojciechMazur](https://github.com/WojciechMazur))

### Bug fixes
- Fix #2751: Files#delete now throws informative DirectoryNotEmptyException
[\#2754](https://github.com/scala-native/scala-native/pull/2754)
([LeeTibbert](https://github.com/LeeTibbert))
- Align error messages for `UnknownHost` with JVM
[\#2805](https://github.com/scala-native/scala-native/pull/2805)
([armanbilge](https://github.com/armanbilge))
- Fix #2793: Two regex patterns now tell the truth
[\#2795](https://github.com/scala-native/scala-native/pull/2795)
([LeeTibbert](https://github.com/LeeTibbert))
- Add `CharsetTest`, fix `Charset#aliases`
[\#2792](https://github.com/scala-native/scala-native/pull/2792)
([armanbilge](https://github.com/armanbilge))
- Fix #2769, #2650: Remove several defects discovered by ProcessTest
[\#2776](https://github.com/scala-native/scala-native/pull/2776)
([LeeTibbert](https://github.com/LeeTibbert))
- Fix #2750: Two javalib entities now throw expected Exceptions
[\#2756](https://github.com/scala-native/scala-native/pull/2756)
([LeeTibbert](https://github.com/LeeTibbert))
- Fix #2604: Print signal name when test interface exits
[\#2722](https://github.com/scala-native/scala-native/pull/2722)
([jmesyou](https://github.com/jmesyou))
- Fixes: #1915: Consider clock_gettime for macos and linux
[\#2704](https://github.com/scala-native/scala-native/pull/2704)
([ekrich](https://github.com/ekrich))
- Fix #2730: Package private at the top level of build breaks easy import
[\#2744](https://github.com/scala-native/scala-native/pull/2744)
([ekrich](https://github.com/ekrich))
1 change: 1 addition & 0 deletions docs/changelog/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Changelog
.. toctree::
:maxdepth: 1

0.4.6
0.4.5
0.4.4
0.4.3
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ def generateScalaNativeCurrentYear():
# built documents.
#
# The short X.Y version.
version = u'0.4.6-SNAPSHOT'
version = u'0.4.6'
# The full version, including alpha/beta/rc tags.
release = u'0.4.6-SNAPSHOT'
release = u'0.4.6'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion nir/src/main/scala/scala/scalanative/nir/Versions.scala
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ object Versions {
final val revision: Int = 9 // a.k.a. MINOR version

/* Current public release version of Scala Native. */
final val current: String = "0.4.6-SNAPSHOT"
final val current: String = "0.4.6"
final val currentBinaryVersion: String = binaryVersion(current)

private object FullVersion {
Expand Down

0 comments on commit c7dcd53

Please sign in to comment.