dataforge-core/CHANGELOG.md

3.6 KiB

Changelog

[Unreleased]

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
  • Build tools 0.10.0
  • Relaxed type restriction on MetaConverter. Now nullables are available.
  • Huge API-breaking refactoring of Meta. Meta now can hava both value and children.
  • API breaking String.toName() is replaced by Name.parse()
  • API breaking Configurableconfig changed to meta

Deprecated

  • Direct use of Config

Removed

  • 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.

Security

[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
  • Global context is a variable (the singleton is hidden and will be deprecated in future)
  • Kotlin 1.5
  • Added blank builders for children context.
  • 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.

Security

[0.3.0]

Added

  • Yaml meta format based on yaml.kt
  • Path builders
  • Special ValueType for lists
  • copy method to descriptors
  • 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
  • Moved Envelope builder to a top level function. Companion invoke is deprecated.
  • Context logging moved to the extension
  • number and string methods on Value moved to extensions (breaking change)
  • Major breaking change
  • Major breaking change
  • Major breaking change
  • Plugins are removed from Context constructor and added lazily in ContextBuilder
  • Major breaking change
  • Major Breaking change

Deprecated

Removed

Fixed

Security

[0.2.0]

Added

Changed

  • Context content resolution refactor
  • Kotlin 1.4.10 (build tools 0.6.0)
  • Empty query in Name is null instead of ""
  • Provider provides an empty map instead of error by default
  • Hidden delegates hierarchy in favor of stdlib properties
  • Removed io depdendency from dataforge-output. Replaced Output by Appendable.
  • 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

Security