Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
# Conflicts:
#	docs/v.list
  • Loading branch information
hltj committed Oct 14, 2023
2 parents 1dda742 + 80239f9 commit 5f7a5d9
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 12 deletions.
2 changes: 1 addition & 1 deletion docs/kr.tree
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

<toc-element toc-title="What's new in Kotlin">
<toc-element id="whatsnew19.md" toc-title="Kotlin 1.9.0" accepts-web-file-names="whatsnew.html"/>
<toc-element id="whatsnew-eap.md" toc-title="Kotlin 1.9.20-Beta2"/>
<toc-element id="whatsnew-eap.md" toc-title="Kotlin 1.9.20-RC"/>
<toc-element toc-title="Earlier versions">
<toc-element id="whatsnew1820.md" toc-title="Kotlin 1.8.20"/>
<toc-element id="whatsnew18.md" toc-title="Kotlin 1.8.0"/>
Expand Down
23 changes: 19 additions & 4 deletions docs/topics/eap.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,25 @@ check [our instructions on how to configure your build to support this version](
<th>Build info</th>
<th>Build highlights</th>
</tr>
<tr>
<td><strong>1.9.20-RC</strong>
<p>Released: <strong>October 12, 2023</strong></p>
<p><a href="https://github.com/JetBrains/kotlin/releases/tag/v1.9.20-RC" target="_blank">Release on GitHub</a></p>
</td>
<td>
<ul>
<li>K2: support for Kotlin/Wasm, preview kapt compiler plugin</li>
<li>Kotlin/JVM: support for Java 21 bytecode</li>
<li>Kotlin/Native: custom allocator enabled by default, full parallel mark available in the GC, deprecated targets disabled, obligatory opt-in for all cinterop declarations (except for platform libraries), the GC scheduler tracking objects in big chunks, legacy memory manager disabled, support for Xcode 15</li>
<li>Kotlin Multiplatform: hierarchy template available by default, full support for Gradle Configuration cache, the default support for third-party cinterop libraries, reworked configuration of compiler settings in multiplatform projects</li>
<li>Kotlin/Wasm: support for WASI, new <code>wasm-wasi</code> target and rename <code>wasm</code> target to <code>wasm-js</code>, compatible with recent updates in Wasm GC</li>
<li>Kotlin/JS: using open-addressing hash map in the JS stdlib, ability to generate one JS file for each Kotlin source file</li>
<li>Libraries: experimental support for <code>enumEntries()</code> function, further stabilization of Kotlin/Native standard library</li>
<li>Gradle: support for Gradle versions 8.0 and 8.1, new build metrics for Kotlin/Native tasks, support for test fixtures to access internal declarations, new property to configure custom path to Konan and its dependencies</li>
</ul>
<p>For more details, please refer to the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.9.20-RC">changelog</a> or <a href="whatsnew-eap.md">What's new in Kotlin 1.9.20-RC</a>.</p>
</td>
</tr>
<tr>
<td><strong>1.9.20-Beta2</strong>
<p>Released: <strong>September 21, 2023</strong></p>
Expand All @@ -59,10 +78,6 @@ check [our instructions on how to configure your build to support this version](
<p>For more details, please refer to the <a href="https://github.com/JetBrains/kotlin/releases/tag/v1.9.20-Beta2">changelog</a> or <a href="whatsnew-eap.md">What's new in Kotlin 1.9.20-Beta2</a>.</p>
</td>
</tr>
<tr>
<th>Build info</th>
<th>Build highlights</th>
</tr>
<tr>
<td><strong>1.9.20-Beta</strong>
<p>Released: <strong>September 11, 2023</strong></p>
Expand Down
47 changes: 42 additions & 5 deletions docs/topics/whatsnew-eap.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ _[发布于:%kotlinEapReleaseDate%](eap.md#build-details)_

The Kotlin %kotlinEapVersion% release is out! Here are some highlights from this preview version:

* [Preview kapt compiler plugin with K2](#preview-kapt-compiler-plugin-with-k2)
* [New default hierarchy template for setting up multiplatform projects](#template-for-configuring-multiplatform-projects)
* [Full support for the Gradle Configuration cache in Kotlin Multiplatform](#full-support-for-the-gradle-configuration-cache-in-kotlin-multiplatform)
* [Custom memory allocator enabled by default in Kotlin/Native](#custom-memory-allocator-enabled-by-default)
* [Performance improvements for the garbage collector in Kotlin/Native](#performance-improvements-for-the-garbage-collector)
* [Support for Xcode 15 in Kotlin/Native](#support-for-xcode-15)
* [New and renamed targets in Kotlin/Wasm](#new-wasm-wasi-target-and-the-renaming-of-the-wasm-target-to-wasm-js)
* [Support for the WASI API in the standard library for Kotlin/Wasm](#support-for-the-wasi-api-in-the-standard-library)

Expand All @@ -27,6 +29,35 @@ The Kotlin plugins that support %kotlinEapVersion% are available for:
| IntelliJ IDEA | 2023.1.x, 2023.2.x |
| Android Studio | Hedgehog (2023.1.1 Beta 3), Iguana (2023.2.1 Canary 2) |

## New Kotlin K2 compiler updates

### Support for Kotlin/Wasm

Since this release, the Kotlin/Wasm supports the new K2 compiler.
[Learn how to enable it in your project](#preview-kapt-compiler-plugin-with-k2).

### Preview kapt compiler plugin with K2

> Support for K2 in the kapt compiler plugin is [Experimental](components-stability.md).
> Opt-in is required (see details below), and you should use it only for evaluation purposes.
>
{type="warning"}

In 1.9.20-RC, you can try using the [kapt compiler plugin](kapt.md) with the K2 compiler.
To use the K2 compiler in your project, add the following options to your `gradle.properties` file:

```text
kotlin.experimental.tryK2=true
kapt.use.k2=true
```

Alternatively, you can enable K2 for kapt by completing the following steps:
1. In your `build.gradle.kts` file, [set the language version](gradle-compiler-options.md#example-of-setting-a-languageversion) to `2.0`.
2. In your `gradle.properties` file, add `kapt.use.k2=true`.

If you encounter any issues when using kapt with the K2 compiler, please report them to our
[issue tracker](http://kotl.in/issue).

## Kotlin Multiplatform

* [Template for configuring multiplatform projects](#template-for-configuring-multiplatform-projects)
Expand Down Expand Up @@ -318,6 +349,12 @@ kotlin.incremental.native=true

If you face any issues, report such cases to [YouTrack](https://kotl.in/issue).

### Support for Xcode 15

Kotlin/Native %kotlinEapVersion% supports Xcode 15.0 – the latest version of Xcode.
As part of this, platform libraries have been updated to reflect the changes to Objective-C frameworks for Apple targets.
Feel free to update your Xcode and continue working on your Kotlin projects for Apple operating systems.

## Kotlin/Wasm

* [New `wasm-wasi` target, and the renaming of the `wasm` target to `wasm-js`](#new-wasm-wasi-target-and-the-renaming-of-the-wasm-target-to-wasm-js)
Expand All @@ -333,7 +370,7 @@ If you face any issues, report such cases to [YouTrack](https://kotl.in/issue).
### New `wasm-wasi` target, and the renaming of the `wasm` target to `wasm-js`

In this release, we're introducing a new target for Kotlin/Wasm – `wasm-wasi`. We're also renaming the `wasm` target to `wasm-js`.
In the Gradle DSL, these targets are available as `wasmWasi` and `wasmJs`, respectively.
In the Gradle DSL, these targets are available as `wasmWasi {}` and `wasmJs {}`, respectively.

To use these targets in your project, update the `build.gradle.kts` file:

Expand All @@ -348,11 +385,11 @@ kotlin {
}
```

The previously introduced `wasm` block has been deprecated in favor of `wasmJs`.
The previously introduced `wasm {}` block has been deprecated in favor of `wasmJs {}`.

To migrate your existing Kotlin/Wasm project, do the following:
* In the `build.gradle.kts` file, rename the `wasm` block to `wasmJs`.
* In your project structure, rename the `wasmMain` folder to `wasmJsMain`.
* In the `build.gradle.kts` file, rename the `wasm {}` block to `wasmJs {}`.
* In your project structure, rename the `wasmMain` directory to `wasmJsMain`.

### Support for the WASI API in the standard library

Expand All @@ -361,7 +398,7 @@ WASI support makes it easier for you to use Kotlin/Wasm outside of browsers, for
a standardized set of APIs for accessing system resources. In addition, WASI provides capability-based security – another
layer of security when accessing external resources.

To run Kotlin/Wasm applications, you need a VM that supports Wasm Garbage Collection (GC), for example Node.js or Deno.
To run Kotlin/Wasm applications, you need a VM that supports Wasm Garbage Collection (GC), for example, Node.js or Deno.
Wasmtime, WasmEdge, and others are still working towards full Wasm GC support.

To import a WASI function, use the `@WasmImport` annotation:
Expand Down
4 changes: 2 additions & 2 deletions docs/v.list
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@

<var name="kotlinVersion" value="1.9.10" type="string"/>

<var name="kotlinEapVersion" value="1.9.20-Beta2" type="string"/>
<var name="kotlinEapVersion" value="1.9.20-RC" type="string"/>

<var name="kotlinLatestUrl" value="https://github.com/JetBrains/kotlin/releases/tag/v1.9.10" type="string"/>

<var name="kotlinReleaseDate" value="2023-08-23" type="string"/>

<var name="kotlinEapReleaseDate" value="2023-09-21" type="string"/>
<var name="kotlinEapReleaseDate" value="2023-10-12" type="string"/>

<var name="coroutinesVersion" value="1.7.1" type="string"/>

Expand Down
3 changes: 3 additions & 0 deletions src/dist.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ def get_dist_page_type(url):
if parsed.find("meta", {"http-equiv": "refresh"}):
page_type = 'Redirect'

if parsed.find("meta", {"name": "robots", "content": "noindex"}):
page_type = 'Hidden'

if url.endswith('pdf'):
page_type = 'File_Pdf'

Expand Down

0 comments on commit 5f7a5d9

Please sign in to comment.