Update Readme and CHANGELOG

This commit is contained in:
Alexander Nozik 2023-11-26 10:05:19 +03:00
parent 191af77f57
commit 99b2d941c8
9 changed files with 72 additions and 102 deletions

View File

@ -3,10 +3,26 @@
## Unreleased ## Unreleased
### Added ### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
## 0.7.0 - 2023-11-26
### Added
- Obligatory `type: KType` and `descriptor` property for `MetaConverters` - Obligatory `type: KType` and `descriptor` property for `MetaConverters`
- Added separate `Meta`, `SealedMeta` and `ObservableMutableMeta` builders. - Added separate `Meta`, `SealedMeta` and `ObservableMutableMeta` builders.
### Changed ### Changed
- Meta converter `metaToObject` returns a non-nullable type. Additional method `metaToObjectOrNull` for nullable return. - Meta converter `metaToObject` returns a non-nullable type. Additional method `metaToObjectOrNull` for nullable return.
- Kotlin 1.9.20. - Kotlin 1.9.20.
- Migrated from ktor-io to kotlinx-io. - Migrated from ktor-io to kotlinx-io.
@ -15,24 +31,24 @@
- Remove unnecessary confusion with `get`/`getMeta` by removing `getMeta` from the interface. - Remove unnecessary confusion with `get`/`getMeta` by removing `getMeta` from the interface.
### Deprecated ### Deprecated
- `String.parseValue` is replaced with `Value.parse` - `String.parseValue` is replaced with `Value.parse`
### Removed
### Fixed ### Fixed
- Memory leak in SealedMeta builder
### Security - Memory leak in SealedMeta builder
## 0.6.2 - 2023-07-29 ## 0.6.2 - 2023-07-29
### Changed ### Changed
- Meta to Json serializer now serializes a single item with index as an array. It is important for plotly integration. - Meta to Json serializer now serializes a single item with index as an array. It is important for plotly integration.
- Meta to Json serializes Meta without children a value as literal or array instead of an object with `@value` field. - Meta to Json serializes Meta without children a value as literal or array instead of an object with `@value` field.
## 0.6.1 - 2023-03-31 ## 0.6.1 - 2023-03-31
### Added ### Added
- File cache for workspace - File cache for workspace
- Smart task metadata transformation for workspace - Smart task metadata transformation for workspace
- Add `readOnly` property to descriptors - Add `readOnly` property to descriptors
@ -42,6 +58,7 @@
- More fine-grained types in Action builders. - More fine-grained types in Action builders.
### Changed ### Changed
- `Name::replaceLast` API - `Name::replaceLast` API
- `PluginFactory` no longer requires plugin class - `PluginFactory` no longer requires plugin class
- Collection<Named> toMap -> associateByName - Collection<Named> toMap -> associateByName
@ -63,9 +80,11 @@
- Separate interfaces for `IOReader` and `IOWriter` - Separate interfaces for `IOReader` and `IOWriter`
### Deprecated ### Deprecated
- Context.fetch -> Context.request - Context.fetch -> Context.request
### Fixed ### Fixed
- `readDataDirectory` does not split names with dots - `readDataDirectory` does not split names with dots
- Front matter reader does not crash on non-UTF files - Front matter reader does not crash on non-UTF files
- Meta file name in readMeta from directory - Meta file name in readMeta from directory
@ -74,10 +93,12 @@
## 0.5.2 ## 0.5.2
### Added ### Added
- Yaml plugin - Yaml plugin
- Partial fix to #53 - Partial fix to #53
### Fixed ### Fixed
- MutableMetaImpl attachment and checks - MutableMetaImpl attachment and checks
- Listeners in observable meta are replaced by lists - Listeners in observable meta are replaced by lists
- JS number comparison bug. - JS number comparison bug.
@ -85,9 +106,11 @@
## 0.5.0 ## 0.5.0
### Added ### Added
- Experimental `listOfSpec` delegate. - Experimental `listOfSpec` delegate.
### Changed ### Changed
- **API breaking** Config is deprecated, use `ObservableMeta` instead. - **API breaking** Config is deprecated, use `ObservableMeta` instead.
- **API breaking** Descriptor no has a member property `defaultValue` instead of `defaultItem()` extension. It caches default value state on the first call. It is done because computing default on each call is too expensive. - **API breaking** Descriptor no has a member property `defaultValue` instead of `defaultItem()` extension. It caches default value state on the first call. It is done because computing default on each call is too expensive.
- Kotlin 1.5.10 - Kotlin 1.5.10
@ -98,24 +121,28 @@
- **API breaking** Configurable`config` changed to `meta` - **API breaking** Configurable`config` changed to `meta`
### Removed ### Removed
- `Config` - `Config`
- Public PluginManager mutability - Public PluginManager mutability
- Tables and tables-exposed moved to the separate project `tables.kt` - Tables and tables-exposed moved to the separate project `tables.kt`
- BinaryMetaFormat. Use CBOR encoding instead - BinaryMetaFormat. Use CBOR encoding instead
### Fixed ### Fixed
- Proper json array index treatment. - Proper json array index treatment.
- Proper json index for single-value array. - Proper json index for single-value array.
## 0.4.0 ## 0.4.0
### Added ### Added
- LogManager plugin - LogManager plugin
- dataforge-context API dependency on SLF4j - dataforge-context API dependency on SLF4j
- Context `withEnv` and `fetch` methods to manipulate plugins without changing plugins after creation. - Context `withEnv` and `fetch` methods to manipulate plugins without changing plugins after creation.
- Split `ItemDescriptor` into builder and read-only part - Split `ItemDescriptor` into builder and read-only part
### Changed ### Changed
- Kotlin-logging moved from common to JVM and JS. Replaced by console for native. - Kotlin-logging moved from common to JVM and JS. Replaced by console for native.
- Package changed to `space.kscience` - Package changed to `space.kscience`
- Scheme made observable - Scheme made observable
@ -125,18 +152,22 @@
- Refactor loggers - Refactor loggers
### Deprecated ### Deprecated
- Direct use of PluginManager - Direct use of PluginManager
### Removed ### Removed
- Common dependency on Kotlin-logging - Common dependency on Kotlin-logging
- Kotlinx-io fork dependency. Replaced by Ktor-io. - Kotlinx-io fork dependency. Replaced by Ktor-io.
### Fixed ### Fixed
- Scheme properties properly handle children property change. - Scheme properties properly handle children property change.
## 0.3.0 ## 0.3.0
### Added ### Added
- Yaml meta format based on yaml.kt - Yaml meta format based on yaml.kt
- `Path` builders - `Path` builders
- Special ValueType for lists - Special ValueType for lists
@ -144,6 +175,7 @@
- Multiplatform yaml meta - Multiplatform yaml meta
### Changed ### Changed
- `ListValue` and `DoubleArrayValue` implement `Iterable`. - `ListValue` and `DoubleArrayValue` implement `Iterable`.
- Changed the logic of `Value::isList` to check for type instead of size - Changed the logic of `Value::isList` to check for type instead of size
- `Meta{}` builder made inline - `Meta{}` builder made inline
@ -160,6 +192,7 @@
## 0.2.0 ## 0.2.0
### Changed ### Changed
- Context content resolution refactor - Context content resolution refactor
- Kotlin 1.4.10 (build tools 0.6.0) - Kotlin 1.4.10 (build tools 0.6.0)
- Empty query in Name is null instead of "" - Empty query in Name is null instead of ""
@ -169,13 +202,16 @@
- Configurable is no longer MutableItemProvider. All functionality moved to Scheme. - Configurable is no longer MutableItemProvider. All functionality moved to Scheme.
### Deprecated ### Deprecated
- Context activation API - Context activation API
- TextRenderer - TextRenderer
### Removed ### Removed
- Functional server prototype - Functional server prototype
- `dataforge-output` module - `dataforge-output` module
### Fixed ### Fixed
- Global context CoroutineScope resolution - Global context CoroutineScope resolution
- Library mode compliance - Library mode compliance

View File

@ -5,32 +5,29 @@
### [dataforge-context](dataforge-context) ### [dataforge-context](dataforge-context)
> > Context and provider definitions
> >
> **Maturity**: DEVELOPMENT > **Maturity**: DEVELOPMENT
### [dataforge-data](dataforge-data) ### [dataforge-data](dataforge-data)
>
> >
> **Maturity**: EXPERIMENTAL > **Maturity**: EXPERIMENTAL
### [dataforge-io](dataforge-io) ### [dataforge-io](dataforge-io)
> > IO module
> >
> **Maturity**: PROTOTYPE > **Maturity**: EXPERIMENTAL
### [dataforge-meta](dataforge-meta) ### [dataforge-meta](dataforge-meta)
> > Meta definition and basic operations on meta
> >
> **Maturity**: DEVELOPMENT > **Maturity**: DEVELOPMENT
### [dataforge-scripting](dataforge-scripting) ### [dataforge-scripting](dataforge-scripting)
>
> >
> **Maturity**: PROTOTYPE > **Maturity**: PROTOTYPE
### [dataforge-workspace](dataforge-workspace) ### [dataforge-workspace](dataforge-workspace)
>
> >
> **Maturity**: EXPERIMENTAL > **Maturity**: EXPERIMENTAL

View File

@ -6,27 +6,18 @@ Context and provider definitions
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-context:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-context:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-context:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-context:0.6.2-dev-2") implementation("space.kscience:dataforge-context:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-data:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-data:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-data:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-data:0.6.2-dev-2") implementation("space.kscience:dataforge-data:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@ IO module
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-io:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-io:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-io:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-io:0.6.2-dev-2") implementation("space.kscience:dataforge-io:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@ YAML meta IO
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-io-yaml:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-io-yaml:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-io-yaml:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-io-yaml:0.6.2-dev-2") implementation("space.kscience:dataforge-io-yaml:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@ Meta definition and basic operations on meta
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-meta:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-meta:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-meta:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-meta:0.6.2-dev-2") implementation("space.kscience:dataforge-meta:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-scripting:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-scripting:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-scripting:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-scripting:0.6.2-dev-2") implementation("space.kscience:dataforge-scripting:0.7.0")
} }
``` ```

View File

@ -6,27 +6,18 @@
## Artifact: ## Artifact:
The Maven coordinates of this project are `space.kscience:dataforge-workspace:0.6.2-dev-2`. The Maven coordinates of this project are `space.kscience:dataforge-workspace:0.7.0`.
**Gradle Groovy:**
```groovy
repositories {
maven { url 'https://repo.kotlin.link' }
mavenCentral()
}
dependencies {
implementation 'space.kscience:dataforge-workspace:0.6.2-dev-2'
}
```
**Gradle Kotlin DSL:** **Gradle Kotlin DSL:**
```kotlin ```kotlin
repositories { repositories {
maven("https://repo.kotlin.link") maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
implementation("space.kscience:dataforge-workspace:0.6.2-dev-2") implementation("space.kscience:dataforge-workspace:0.7.0")
} }
``` ```