0.15.8-kotlin-2.1.0 #51

Merged
altavir merged 54 commits from dev into master 2024-12-09 09:49:38 +03:00
3 changed files with 76 additions and 10 deletions
Showing only changes of commit 2da966b1cd - Show all commits

View File

@ -1,47 +1,66 @@
# Changelog # Changelog
All notable changes to this project will be documented in this file.
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased ## Unreleased
### Added ### Added
- Add development mode for fullstack.
### Changed ### Changed
- Kotlin 1.9.20 - Use ES6 modules by default in JS
- Remove publishing defaults for Space and GitHub. Now publishing repositories is configured quasi-manually. Property keys for username and tokens are generated automatically.
- All publishing targets are enabled by default. Introduce `publishing.targets` variable to regulate what is added to the module.
### Deprecated ### Deprecated
- JVM plugin in favor of Mpp.
### Removed ### Removed
- JS plugin. It is deprecated in favor of MPP.
- Unnecessary `dependsOn` for native dependencies.
- Groovy gradle dependency notation.
### Fixed ### Fixed
### Security ### Security
## 0.15.2-kotlin-1.9.22 - 2024-02-09
### Added
- Add development mode for fullstack.
### Changed
- Kotlin 1.9.20
- Remove publishing defaults for Space and GitHub. Now publishing repositories is configured quasi-manually. Property keys for username and tokens are generated automatically.
- All publishing targets are enabled by default. Introduce `publishing.targets` variable to regulate what is added to the module.
### Deprecated
- JVM plugin in favor of Mpp.
### Removed
- JS plugin. It is deprecated in favor of MPP.
- Unnecessary `dependsOn` for native dependencies.
- Groovy gradle dependency notation.
## 0.14.4-kotlin-1.8.20-RC - 2023-03-12 ## 0.14.4-kotlin-1.8.20-RC - 2023-03-12
### Added ### Added
- Easier dependency handling in `kscience` block - Easier dependency handling in `kscience` block
- Customizable base jdk version - Customizable base jdk version
### Changed ### Changed
- MPP does not use JVM and JS(IR) targets anymore. They could be turned manually via `js()`, `jvm()` or `fullStack()` - MPP does not use JVM and JS(IR) targets anymore. They could be turned manually via `js()`, `jvm()` or `fullStack()`
- Signing is not applied if signingId is not provided - Signing is not applied if signingId is not provided
### Removed ### Removed
- FX plugins - FX plugins
- Unnecessary library shortcuts (html and datetime) - Unnecessary library shortcuts (html and datetime)
- deploy/release tasks - deploy/release tasks
### Fixed ### Fixed
- Gradle 8 compatibility - Gradle 8 compatibility
- Dokka publication - Dokka publication
- issues with test sourcesets - issues with test sourcesets
@ -49,9 +68,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## 0.13.4-kotlin-1.8.0 - 2022-12-31 ## 0.13.4-kotlin-1.8.0 - 2022-12-31
### Added ### Added
- Public `isInDevelopment` project flag - Public `isInDevelopment` project flag
### Changed ### Changed
- Require manual pom config for publications - Require manual pom config for publications
- Kotlin 1.8.0 - Kotlin 1.8.0
- Versions update - Versions update
@ -59,139 +80,172 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Moved `yarn.lock` to `gradle` directory - Moved `yarn.lock` to `gradle` directory
### Deprecated ### Deprecated
- FX configuration - FX configuration
### Removed ### Removed
- Xjdk-release flag because it is broken until https://youtrack.jetbrains.com/issue/KT-52823 - Xjdk-release flag because it is broken until https://youtrack.jetbrains.com/issue/KT-52823
- Use CSS loader in JS by default - Use CSS loader in JS by default
## 0.11.6-kotlin-1.7.0 ## 0.11.6-kotlin-1.7.0
### Changed ### Changed
- Coroutines tests are applied only when explicit `useCoroutines` is used. - Coroutines tests are applied only when explicit `useCoroutines` is used.
### Removed ### Removed
- Atomicfu support inside the plugin - Atomicfu support inside the plugin
### Fixed ### Fixed
- Rollback coroutines to 1.6.1 - Rollback coroutines to 1.6.1
## 0.11.5-kotlin-1.7.0 ## 0.11.5-kotlin-1.7.0
### Added ### Added
- Coroutine tests as default dependency for tests - Coroutine tests as default dependency for tests
- Context receiver flag - Context receiver flag
### Changed ### Changed
- Separate release tasks for each target - Separate release tasks for each target
- Kotlin 1.7.0 - Kotlin 1.7.0
- Ktor 2.0.1 - Ktor 2.0.1
- ExplicitAPI does not override existing value - ExplicitAPI does not override existing value
### Removed ### Removed
- Ktor specific artifacts from version catalog - Ktor specific artifacts from version catalog
### Fixed ### Fixed
- Moved signing out of sonatype block - Moved signing out of sonatype block
## 0.11.1-kotlin-1.6.10 ## 0.11.1-kotlin-1.6.10
### Added ### Added
- Default templates for README and ARTIFACT - Default templates for README and ARTIFACT
### Changed ### Changed
- Replaced Groovy templates by FreeMarker - Replaced Groovy templates by FreeMarker
### Fixed ### Fixed
- JS publication sources jar - JS publication sources jar
## 0.10.9-kotlin-1.6.10 ## 0.10.9-kotlin-1.6.10
### Added ### Added
- html builders for readme - html builders for readme
### Changed ### Changed
- Kotlin 1.6.0 - Kotlin 1.6.0
- Use indy lambdas by default #32 - Use indy lambdas by default #32
- Change version scheme to `<version>-kotlin-<kotlin version>` - Change version scheme to `<version>-kotlin-<kotlin version>`
### Fixed ### Fixed
- remove `nativeMain` dependency from `nativeTest` - remove `nativeMain` dependency from `nativeTest`
## 0.10.4 ## 0.10.4
### Changed ### Changed
- Kotlin 1.6 - Kotlin 1.6
### Fixed ### Fixed
- Some issues with opt-ins - Some issues with opt-ins
## 0.10.2 ## 0.10.2
### Added ### Added
- Experimental automatic JS project bundling in MPP - Experimental automatic JS project bundling in MPP
### Changed ### Changed
- Remove vcs requirement for Space publication - Remove vcs requirement for Space publication
## 0.10.0 ## 0.10.0
### Added ### Added
- Lazy readme properties - Lazy readme properties
- BOM for kotlin-wrappers on JS - BOM for kotlin-wrappers on JS
- Jupyter loader - Jupyter loader
### Changed ### Changed
- API validation disabled for dev versions - API validation disabled for dev versions
- Kotlin plugins are propagated downstream - Kotlin plugins are propagated downstream
### Removed ### Removed
- bson support - bson support
## 0.9.5 ## 0.9.5
### Added ### Added
- Disable API validation for snapshots - Disable API validation for snapshots
- `-Xjvm-default=all` on JVM - `-Xjvm-default=all` on JVM
### Changed ### Changed
- `publication.platform` changed to `publishing.platform` - `publication.platform` changed to `publishing.platform`
- Dokka version to `1.4.30` - Dokka version to `1.4.30`
- `useDateTime` in extension - `useDateTime` in extension
- Kotlin 1.5 - Kotlin 1.5
### Removed ### Removed
- Publish plugin. Use MavenPublish instead - Publish plugin. Use MavenPublish instead
### Fixed ### Fixed
- Removed unnecessary `afterEvaluate` for compatibility with gradle 7.0 - Removed unnecessary `afterEvaluate` for compatibility with gradle 7.0
## 0.9.0 ## 0.9.0
### Added ### Added
- Skip sonatype publishing for dev versions - Skip sonatype publishing for dev versions
### Changed ### Changed
- Publishing repositories are explicit and defined in the top level project - Publishing repositories are explicit and defined in the top level project
- Paths to publishing properties now use dot notation like `publishing.github.user` - Paths to publishing properties now use dot notation like `publishing.github.user`
### Deprecated ### Deprecated
- Publishing plugin - Publishing plugin
### Removed ### Removed
- Bintray publishing - Bintray publishing
## 0.8.4 ## 0.8.4
### Added ### Added
- Adaptive support for host OS in native - Adaptive support for host OS in native
- CSS support for JS targets - CSS support for JS targets
### Changed ### Changed
- Kotlin 1.4.31 - Kotlin 1.4.31
- Coroutines 1.4.3 - Coroutines 1.4.3
### Fixed ### Fixed
- Plugin loading order for publishing - Plugin loading order for publishing
- Release task - Release task
- Readme generation for multi-module project - Readme generation for multi-module project
@ -199,11 +253,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## 0.8.1 ## 0.8.1
### Added ### Added
- Ktor version to versions - Ktor version to versions
- Add sonatype publishing - Add sonatype publishing
- Per-platform release publishing - Per-platform release publishing
### Changed ### Changed
- Kotlin to 1.4.30 stable. - Kotlin to 1.4.30 stable.
- Added intermediate jsCommon main/test sourcesSet for node plugin. - Added intermediate jsCommon main/test sourcesSet for node plugin.
- Plugin names changed to `ru.mipt.npm` package. - Plugin names changed to `ru.mipt.npm` package.
@ -211,15 +267,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Plugins group changed to `ru.mipt.npm` with `gradle` prefix - Plugins group changed to `ru.mipt.npm` with `gradle` prefix
### Removed ### Removed
- kaml - kaml
### Fixed ### Fixed
- Fix publishing load order for sonatype - Fix publishing load order for sonatype
- Fix root project readme - Fix root project readme
## 0.7.4 ## 0.7.4
### Added ### Added
- Changelog plugin automatically applied to `project`. - Changelog plugin automatically applied to `project`.
- Feature matrix and Readme generation task for a `project` plugin. - Feature matrix and Readme generation task for a `project` plugin.
- Add `binary-compatibility-validator` to the `project` plugin. - Add `binary-compatibility-validator` to the `project` plugin.
@ -228,6 +287,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Suppress API validation for modules with maturity below DEVELOPMENT - Suppress API validation for modules with maturity below DEVELOPMENT
### Changed ### Changed
- Remove node plugin. Node binaries should be turned on manually. - Remove node plugin. Node binaries should be turned on manually.
- Use default webpack distribution path. - Use default webpack distribution path.
- `ru.mipt.npm.base` -> `ru.mipt.npm.project`. - `ru.mipt.npm.base` -> `ru.mipt.npm.project`.
@ -238,15 +298,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Kotlin 1.4.30-RC - Kotlin 1.4.30-RC
### Deprecated ### Deprecated
- Support of `kaml` and `snake-yaml` in favor of `yamlKt` - Support of `kaml` and `snake-yaml` in favor of `yamlKt`
- Publish plugin - Publish plugin
### Removed ### Removed
- `useDokka` method. Documentation jar should be added manually if needed. - `useDokka` method. Documentation jar should be added manually if needed.
## 0.6.0 ## 0.6.0
### Added ### Added
- Migrate to kotlin 1.4.0 - Migrate to kotlin 1.4.0
- Separate Native (current platform) and nodeJs plugins. - Separate Native (current platform) and nodeJs plugins.
- Add `application()` toggle in plugin configuration to produce binaries on JS and applicaion plugin on jvm. - Add `application()` toggle in plugin configuration to produce binaries on JS and applicaion plugin on jvm.
@ -255,4 +318,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## 0.5.2 ## 0.5.2
### Added ### Added
- Copy resources for jvm modules and jvm source sets in mpp. - Copy resources for jvm modules and jvm source sets in mpp.

View File

@ -1,5 +1,5 @@
[versions] [versions]
tools = "0.15.2-kotlin-1.9.22" tools = "0.16.0-kotlin-1.9.22"
kotlin = "1.9.22" kotlin = "1.9.22"
# https://github.com/Kotlin/kotlinx-atomicfu # https://github.com/Kotlin/kotlinx-atomicfu
atomicfu = "0.23.1" atomicfu = "0.23.1"

View File

@ -392,6 +392,7 @@ public open class KScienceMppExtension(project: Project) : KScienceExtension(pro
project.configure<KotlinMultiplatformExtension> { project.configure<KotlinMultiplatformExtension> {
js(IR) { js(IR) {
browser() browser()
useEsModules()
block() block()
} }
sourceSets { sourceSets {
@ -463,6 +464,7 @@ public open class KScienceMppExtension(project: Project) : KScienceExtension(pro
} }
browserConfig() browserConfig()
} }
useEsModules()
jsConfig() jsConfig()
binaries.executable() binaries.executable()
} }