2020-08-15 20:33:39 +03:00
# Changelog
## [Unreleased]
### Added
2021-05-11 12:42:41 +03:00
- Experimental `listOfSpec` delegate.
2021-04-27 11:17:27 +03:00
### Changed
2021-07-08 12:15:34 +03:00
- **API breaking** Config is deprecated, use `ObservableMeta` instead.
2021-06-20 10:29:37 +03:00
- **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.
2021-06-04 19:52:34 +03:00
- Kotlin 1.5.10
2021-06-20 10:29:37 +03:00
- Build tools 0.10.0
2021-06-23 08:20:22 +03:00
- Relaxed type restriction on `MetaConverter` . Now nullables are available.
2021-07-30 09:17:46 +03:00
- **Huge API-breaking refactoring of Meta**. Meta now can hava both value and children.
2021-07-31 15:02:11 +03:00
- **API breaking** `String.toName()` is replaced by `Name.parse()`
2021-07-31 17:06:17 +03:00
- **API breaking** Configurable`config` changed to `meta`
2021-04-27 11:17:27 +03:00
### Removed
2021-08-06 12:29:48 +03:00
- `Config`
2021-07-08 12:15:34 +03:00
- Public PluginManager mutability
2021-07-18 14:35:31 +03:00
- Tables and tables-exposed moved to the separate project `tables.kt`
2021-07-30 09:17:46 +03:00
- BinaryMetaFormat. Use CBOR encoding instead
2021-04-27 11:17:27 +03:00
### Fixed
2021-07-15 12:10:56 +03:00
- Proper json array index treatment.
- Proper json index for single-value array.
2021-04-27 11:17:27 +03:00
### Security
## [0.4.0]
### Added
2021-02-28 22:03:40 +03:00
- LogManager plugin
2021-03-07 09:46:01 +03:00
- dataforge-context API dependency on SLF4j
2021-04-06 15:12:40 +03:00
- Context `withEnv` and `fetch` methods to manipulate plugins without changing plugins after creation.
2021-04-11 11:15:25 +03:00
- Split `ItemDescriptor` into builder and read-only part
2021-02-07 20:49:48 +03:00
### Changed
2021-02-23 17:40:28 +03:00
- Kotlin-logging moved from common to JVM and JS. Replaced by console for native.
2021-03-03 11:36:22 +03:00
- Package changed to `space.kscience`
2021-04-06 15:12:40 +03:00
- Scheme made observable
- Global context is a variable (the singleton is hidden and will be deprecated in future)
2021-04-07 11:39:24 +03:00
- Kotlin 1.5
2021-04-27 10:55:58 +03:00
- Added blank builders for children context.
- Refactor loggers
2021-02-07 20:49:48 +03:00
### Deprecated
2021-04-06 15:12:40 +03:00
- Direct use of PluginManager
2021-02-07 20:49:48 +03:00
### Removed
2021-02-28 22:03:40 +03:00
- Common dependency on Kotlin-logging
- Kotlinx-io fork dependency. Replaced by Ktor-io.
2021-02-07 20:49:48 +03:00
### Fixed
2021-04-11 11:24:25 +03:00
- Scheme properties properly handle children property change.
2021-02-07 20:49:48 +03:00
### Security
## [0.3.0]
### Added
2020-12-04 11:20:20 +03:00
- Yaml meta format based on yaml.kt
2020-12-04 17:34:12 +03:00
- `Path` builders
2020-12-09 12:04:10 +03:00
- Special ValueType for lists
2020-12-20 18:22:50 +03:00
- `copy` method to descriptors
2021-01-30 19:49:28 +03:00
- Multiplatform yaml meta
2020-08-15 20:33:39 +03:00
2020-11-26 22:21:29 +03:00
### Changed
2020-11-29 10:18:52 +03:00
- `ListValue` and `DoubleArrayValue` implement `Iterable` .
- Changed the logic of `Value::isList` to check for type instead of size
2020-12-04 11:20:20 +03:00
- `Meta{}` builder made inline
2020-12-04 11:26:03 +03:00
- Moved `Envelope` builder to a top level function. Companion invoke is deprecated.
2020-12-04 17:34:12 +03:00
- Context logging moved to the extension
2020-12-09 12:04:10 +03:00
- `number` and `string` methods on `Value` moved to extensions (breaking change)
2020-12-24 10:32:11 +03:00
- \[Major breaking change\] Schemes and configurables us `MutableItemProvider` instead of `Config`
2020-12-24 10:48:51 +03:00
- \[Major breaking change\] `MetaItem` renamed to `TypedMetaItem` and `MetaItem` is now an alias for `TypedMetaItem<*>`
- \[Major breaking change\] Moved `NodeItem` and `ValueItem` to a top level
2020-12-28 21:05:27 +03:00
- Plugins are removed from Context constructor and added lazily in ContextBuilder
2021-01-10 14:32:52 +03:00
- \[Major breaking change\] Full refactor of DataTree/DataSource
2021-02-07 20:23:33 +03:00
- \[Major Breaking change\] Replace KClass with KType in data. Remove direct access to constructors with types.
2020-11-26 22:21:29 +03:00
### Deprecated
### Removed
### Fixed
### Security
2020-11-29 10:18:52 +03:00
2020-11-26 22:21:29 +03:00
## [0.2.0]
### Added
2020-08-15 20:33:39 +03:00
### Changed
2020-09-13 19:35:58 +03:00
- Context content resolution refactor
- Kotlin 1.4.10 (build tools 0.6.0)
2020-08-15 20:33:39 +03:00
- Empty query in Name is null instead of ""
- Provider provides an empty map instead of error by default
2020-09-13 19:35:58 +03:00
- Hidden delegates hierarchy in favor of stdlib properties
2020-10-17 17:22:34 +03:00
- Removed io depdendency from `dataforge-output` . Replaced Output by Appendable.
2020-11-13 19:44:07 +03:00
- Configurable is no longer MutableItemProvider. All functionality moved to Scheme.
2020-08-15 20:33:39 +03:00
### Deprecated
2020-09-13 19:35:58 +03:00
- Context activation API
2020-11-20 14:47:18 +03:00
- TextRenderer
2020-08-15 20:33:39 +03:00
### Removed
- Functional server prototype
2020-11-20 14:47:18 +03:00
- `dataforge-output` module
2020-08-15 20:33:39 +03:00
### Fixed
- Global context CoroutineScope resolution
2020-09-13 19:35:58 +03:00
- Library mode compliance
2020-08-15 20:33:39 +03:00
### Security