• 0.10.1 Stable

    altavir released this 2025-02-23 11:07:28 +03:00 | 3 commits to master since this release

    Added

    • Relax requirements for withDefault and view. Now they could be used with MutableMetaProvider
    • Add MutableMetaProvider to MutableMeta converter asMutableMeta.

    Changed

    • Implementation of Meta::withDefault
    • scheme extension limited to MutableMeta to avoid resolution ambiguity with Scheme

    Fixed

    • Incorrect work of MetaWithDefault::getValue
    • Incorrect work of scheme delegate
    Downloads
  • 0.10.0 Stable

    altavir released this 2025-01-19 12:44:48 +03:00 | 17 commits to master since this release

    Added

    • Coroutine exception logging in context
    • ObservableMutableMetaSerializer
    • MutableMetaView - a Meta wrapper that creates nodes only when its or its children are changed.

    Changed

    • Simplify inheritance logic in MutableTypedMeta
    • Full rework of DataTree and associated interfaces (DataSource, DataSink, etc.).
    • Filter data by type is moved from dataforge-data to dataforge-workspace to avoid reflection dependency.

    Deprecated

    • MetaProvider spec is replaced by readable. listOfSpec replaced with listOfReadable

    Removed

    • Remove implicit io format resolver in IOPlugin and FileWorkspaceCache. There are no guarantees that only one format is present in the contrxt for each type.
    • Dependencies on atomicfu and kotlin.reflect from dataforge-data to improve performance.

    Fixed

    • Fixed NameToken parsing.
    • Top level string list meta conversion.
    Downloads
  • v0.6.2 7fca5db390

    0.6.2 Stable

    spc-code released this 2023-07-29 13:15:37 +03:00 | 118 commits to master since this release

    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
    • Add specOrNull delegate to meta and Scheme
    • Suspended read methods to the Binary
    • Synchronously accessed meta to all DataSets
    • More fine-grained types in Action builders.

    Changed

    • Name::replaceLast API
    • PluginFactory no longer requires plugin class
    • Collection toMap -> associateByName
    • Simplified DFTL envelope format. Closing symbols are unnecessary. Properties are discontinued.
    • Meta get method allows nullable receiver
    • withDefault functions do not add new keys to meta children and are consistent.
    • dataforge.meta.values package is merged into dataforge.meta for better star imports
    • Kotlin 1.8.20
    • Factory is now fun interface and uses build instead of invoke. `invoke moved to an extension.
    • KTor 2.0
    • DataTree items call is blocking.
    • DataSet getData is no longer suspended and renamed to get
    • DataSet operates with sequences of data instead of flows
    • PartialEnvelope uses Int instead UInt.
    • ActiveDataSet renamed to DataSource
    • selectOne->getByType
    • Data traversal in DataSet is done via iterator
    • Remove all unnecessary properties for IOFormat
    • 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
    • Tagless and FrontMatter envelope partial readers fix.
    Downloads
  • v0.5.2 8c0bc05a9a

    0.5.2 Stable

    altavir released this 2021-11-30 13:12:20 +03:00 | 181 commits to master since this release

    Added

    • Yaml plugin
    • Partial fix to #53

    Changed

    Deprecated

    Removed

    Fixed

    • MutableMetaImpl attachment and checks
    • Listeners in observable meta are replaced by lists
    • JS number comparison bug.
    Downloads
  • v0.5.0 acfe9c2f74

    0.5.0 Stable

    altavir released this 2021-08-13 21:42:32 +03:00 | 195 commits to master since this release

    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 have both value and children. There is only one kind of descriptor now.
    • API breaking String.toName() is replaced by Name.parse()
    • API breaking Configurableconfig 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.
    Downloads
  • v0.4.0 32b986fc47

    0.4.0 Stable

    altavir released this 2021-04-27 11:23:43 +03:00 | 245 commits to master since this release

    [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.
    Downloads
  • 0.4.0-dev-1 Pre-Release

    altavir released this 2021-03-07 15:43:34 +03:00 | 257 commits to master since this release

    Added

    • LogManager plugin
    • dataforge-context API dependency on SLF4j

    Changed

    • Kotlin-logging moved from common to JVM and JS. Replaced by console for native.
    • Package changed to space.kscience

    Deprecated

    Removed

    • Common dependency on Kotlin-logging
    • Kotlinx-io fork dependency. Replaced by Ktor-io.

    Fixed

    Security

    Downloads
  • v0.3.0 a7ee2f5922

    0.3.0 Stable

    altavir released this 2021-02-07 21:18:04 +03:00 | 270 commits to master since this release

    [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] Schemes and configurables us MutableItemProvider instead of Config
    • [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
    • Plugins are removed from Context constructor and added lazily in ContextBuilder
    • [Major breaking change] Full refactor of DataTree/DataSource
    • [Major Breaking change] Replace KClass with KType in data. Remove direct access to constructors with types.
    Downloads
  • v0.2.0 6912f26291

    0.2.0 Stable

    altavir released this 2020-11-28 10:29:09 +03:00 | 333 commits to master since this release

    [0.2.0]

    Changed

    • Context content resolution refactor
    • Kotlin 1.4.20 (build tools 0.7.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
    Downloads
  • 0.1.4 5dc7929475

    0.1.4 Stable

    altavir released this 2019-11-01 21:27:52 +03:00 | 454 commits to master since this release

    • IO and serialization fixes.
    • A lot of work on envelopes.
    • Task and workspace build refactoring (still experimental though)
    • Function server prototype.
    Downloads