0.7.0 #79

Merged
altavir merged 21 commits from dev into master 2023-11-26 10:08:10 +03:00
9 changed files with 72 additions and 102 deletions
Showing only changes of commit 99b2d941c8 - Show all commits

View File

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

View File

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

View File

@ -6,27 +6,18 @@ Context and provider definitions
## 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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
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:
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:**
```kotlin
repositories {
maven("https://repo.kotlin.link")
//uncomment to access development builds
//maven("https://maven.pkg.jetbrains.space/spc/p/sci/dev")
mavenCentral()
}
dependencies {
implementation("space.kscience:dataforge-workspace:0.6.2-dev-2")
implementation("space.kscience:dataforge-workspace:0.7.0")
}
```