From 5e854eb64c28eac2221b656db528b819449bdcbd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 16:36:50 +0100 Subject: [PATCH 01/43] feat(rstream): add fromObject(), add docs & tests --- packages/rstream/src/from/object.ts | 74 +++++++++++++++++++++++++++++ packages/rstream/src/index.ts | 1 + packages/rstream/test/object.ts | 36 ++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 packages/rstream/src/from/object.ts create mode 100644 packages/rstream/test/object.ts diff --git a/packages/rstream/src/from/object.ts b/packages/rstream/src/from/object.ts new file mode 100644 index 0000000000..f6e97ee461 --- /dev/null +++ b/packages/rstream/src/from/object.ts @@ -0,0 +1,74 @@ +import { Keys } from "@thi.ng/api"; +import { Subscription, subscription } from "../subscription"; +import { CommonOpts } from "../api"; +import { optsWithID } from "../utils/idgen"; + +export type StreamObj> = { + [id in K]-?: Subscription; +} & { + __next(x: T): void; + __done(): void; +}; + +/** + * Takes an arbitrary object `src` and optional array of `keys` (else + * selects all by default). Creates a new object and for each key + * creates a new stream, seeded with the key's value in `src`. Returns + * new object of streams. + * + * @remarks + * In addition to the given `keys`, the following special functions will + * be added to the result object: + * + * - `__next()` - takes a new object of same type as `src` and feeds new + * values for each key/prop into its respective stream. + * - `__done()` - calls {@link ISubscriber.done} on all streams + * + * The optional `opts` arg is used to specify shared options for *all* + * streams. If the `id` option isn't provided, each stream will get an + * autogenerated ID in the form `obj-${keyname}-${counter}`. + * + * @example + * ```ts + * type Foo = { a?: number; b: string; }; + * + * const streams = fromObject({ a: 1, b: "foo" }) + * + * streams.a.subscribe(trace("a")) + * // a 1 + * streams.b.subscribe(trace("b")) + * // b foo + * + * streams.__next({ b: "bar" }) + * // a undefined + * // b bar + * ``` + * + * + * @param src + * @param keys + * @param opts + */ +export const fromObject = >( + src: T, + keys: K[] = Object.keys(src), + opts?: Partial +) => { + const dest = >{ + __next(state) { + for (let k of keys) { + dest[k].next(state[k]); + } + }, + __done() { + for (let k of keys) { + dest[k].done(); + } + }, + }; + for (let k of keys) { + dest[k] = subscription(undefined, optsWithID(`obj-${k}`, opts)); + dest[k].next(src[k]); + } + return dest; +}; diff --git a/packages/rstream/src/index.ts b/packages/rstream/src/index.ts index 55b1d5e66e..50d9b11fd4 100644 --- a/packages/rstream/src/index.ts +++ b/packages/rstream/src/index.ts @@ -13,6 +13,7 @@ export * from "./from/atom"; export * from "./from/event"; export * from "./from/interval"; export * from "./from/iterable"; +export * from "./from/object"; export * from "./from/promise"; export * from "./from/promises"; export * from "./from/raf"; diff --git a/packages/rstream/test/object.ts b/packages/rstream/test/object.ts new file mode 100644 index 0000000000..5a63d6a6da --- /dev/null +++ b/packages/rstream/test/object.ts @@ -0,0 +1,36 @@ +import * as assert from "assert"; +import { fromObject, State, Subscription } from "../src/index"; + +describe("fromObject", () => { + it("basic", () => { + const streams = fromObject(<{ a?: number; b: string }>{ + a: 1, + b: "foo", + }); + assert(streams.a instanceof Subscription); + assert(streams.b instanceof Subscription); + assert(streams.a.id.startsWith("obj-a-")); + assert(streams.b.id.startsWith("obj-b-")); + + const acc: any = { a: [], b: [] }; + streams.a.subscribe({ + next(x) { + acc.a.push(x); + }, + }); + streams.b.subscribe({ + next(x) { + acc.b.push(x); + }, + }); + streams.__next({ a: 2, b: "bar" }); + streams.__next({ b: "baz" }); + streams.__done(); + assert.deepEqual(acc, { + a: [1, 2, undefined], + b: ["foo", "bar", "baz"], + }); + assert.equal(streams.a.getState(), State.DONE); + assert.equal(streams.b.getState(), State.DONE); + }); +}); From fc0b9ffcf2c58584e564d3a53e64c6fac261289f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 16:39:53 +0100 Subject: [PATCH 02/43] docs(rstream): update readme --- packages/rstream/README.md | 3 ++- packages/rstream/tpl.readme.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/rstream/README.md b/packages/rstream/README.md index ff238f5119..de1c4dfa7c 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -136,7 +136,7 @@ yarn add @thi.ng/rstream ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.11 KB / CJS: 5.29 KB / UMD: 5.22 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.19 KB / CJS: 5.37 KB / UMD: 5.29 KB ## Dependencies @@ -315,6 +315,7 @@ s.next(42); - [fromDOMEvent()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/event.ts#L25) - DOM events - [fromInterval()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/interval.ts) - interval based counters - [fromIterable()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/iterable.ts) - arrays, iterators / generators (async & sync) +- [fromObject()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/object.ts) - object property streams - [fromPromise()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/promise.ts) - single value stream from promise - [fromPromises()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/promises.ts) - results from multiple promise - [fromRAF()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/raf.ts) - requestAnimationFrame() counter (w/ node fallback) diff --git a/packages/rstream/tpl.readme.md b/packages/rstream/tpl.readme.md index 536ab88bef..2ec018ec45 100644 --- a/packages/rstream/tpl.readme.md +++ b/packages/rstream/tpl.readme.md @@ -230,6 +230,7 @@ s.next(42); - [fromDOMEvent()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/event.ts#L25) - DOM events - [fromInterval()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/interval.ts) - interval based counters - [fromIterable()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/iterable.ts) - arrays, iterators / generators (async & sync) +- [fromObject()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/object.ts) - object property streams - [fromPromise()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/promise.ts) - single value stream from promise - [fromPromises()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/promises.ts) - results from multiple promise - [fromRAF()](https://github.com/thi-ng/umbrella/tree/develop/packages/rstream/src/from/raf.ts) - requestAnimationFrame() counter (w/ node fallback) From 1ba1ee5b259067932c6aedd5555ddc8c623c879e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 16:41:04 +0100 Subject: [PATCH 03/43] test(rstream): minor updates --- packages/rstream/test/metastream.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/rstream/test/metastream.ts b/packages/rstream/test/metastream.ts index ce2f16648c..3fc834f2be 100644 --- a/packages/rstream/test/metastream.ts +++ b/packages/rstream/test/metastream.ts @@ -30,11 +30,7 @@ describe("MetaStream", () => { closeIn: CloseMode.NEVER, }); const sub = src.subscribe(meta); - const child = sub.subscribe({ - next(x) { - console.log(x); - }, - }); + const child = sub.subscribe({}); setTimeout(() => { assert.equal(src.getState(), State.DONE); assert.equal(meta.getState(), State.ACTIVE); From f3ca3b6fef4568cb5c8992166e1db931c173ffca Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 18:35:30 +0100 Subject: [PATCH 04/43] feat(rstream): update fromObject(), add StreamObjOpts, update docs --- packages/rstream/src/from/object.ts | 112 +++++++++++++++++++++------- packages/rstream/test/object.ts | 56 ++++++++++---- 2 files changed, 127 insertions(+), 41 deletions(-) diff --git a/packages/rstream/src/from/object.ts b/packages/rstream/src/from/object.ts index f6e97ee461..fe1b3d579b 100644 --- a/packages/rstream/src/from/object.ts +++ b/packages/rstream/src/from/object.ts @@ -3,47 +3,101 @@ import { Subscription, subscription } from "../subscription"; import { CommonOpts } from "../api"; import { optsWithID } from "../utils/idgen"; -export type StreamObj> = { - [id in K]-?: Subscription; -} & { - __next(x: T): void; - __done(): void; -}; +/** + * Result object type for {@link fromObject}. + */ +export interface StreamObj> { + /** + * Object of managed streams for registered keys. + */ + streams: { + [id in K]-?: Subscription; + }; + /** + * Feeds new values from `x` to each registered key's stream. + * Satifies {@link ISubscriber.next} interface. + * + * @param x + */ + next(x: T): void; + /** + * Calls {@link ISubscriber.done} for all streams created. Satifies + * {@link ISubscriber.done} interface. + */ + done(): void; +} + +export interface StreamObjOpts extends CommonOpts { + /** + * If true (default), all created streams will be seeded with key + * values from the source object. + * + * @defaultValue true + */ + initial: boolean; +} /** * Takes an arbitrary object `src` and optional array of `keys` (else * selects all by default). Creates a new object and for each key - * creates a new stream, seeded with the key's value in `src`. Returns - * new object of streams. + * creates a new stream, optionally seeded with the key's value in + * `src`. Returns new object of streams. * * @remarks - * In addition to the given `keys`, the following special functions will - * be added to the result object: + * The structure of the returned object is + * {@link StreamObj | as follows}: + * + * ```ts + * { + * streams: { ... }, + * next(x): void; + * done(): void; + * } + * ``` * - * - `__next()` - takes a new object of same type as `src` and feeds new - * values for each key/prop into its respective stream. - * - `__done()` - calls {@link ISubscriber.done} on all streams + * All streams (only for given `keys`) will be stored under `streams`. + * The `next()` and `done()` functions/methods allow the object itself + * to be used as subscriber for an upstream subscribable (see 2nd + * example): + * + * - `next()` - takes a object of same type as `src` and feeds each + * key's new value into its respective stream. + * - `done()` - calls {@link ISubscriber.done} on all streams * * The optional `opts` arg is used to specify shared options for *all* - * streams. If the `id` option isn't provided, each stream will get an - * autogenerated ID in the form `obj-${keyname}-${counter}`. + * created streams. If the `id` option isn't provided, each stream will + * get an autogenerated ID in the form `obj-${keyname}-${counter}`. * * @example * ```ts * type Foo = { a?: number; b: string; }; * - * const streams = fromObject({ a: 1, b: "foo" }) + * const obj = fromObject({ a: 1, b: "foo" }) * - * streams.a.subscribe(trace("a")) + * obj.streams.a.subscribe(trace("a")) * // a 1 - * streams.b.subscribe(trace("b")) + * obj.streams.b.subscribe(trace("b")) * // b foo * - * streams.__next({ b: "bar" }) + * obj.next({ b: "bar" }) * // a undefined * // b bar * ``` * + * @example + * ```ts + * const obj = fromObject({}, ["a", "b"], { initial: false }); + * obj.streams.a.subscribe(trace("a")); + * obj.streams.b.subscribe(trace("b")); + * + * const src = subscription(); + * // use as subscriber + * src.subscribe(obj); + * + * src.next({ a: 1, b: "foo" }); + * // a 1 + * // b foo + * ``` * * @param src * @param keys @@ -52,23 +106,25 @@ export type StreamObj> = { export const fromObject = >( src: T, keys: K[] = Object.keys(src), - opts?: Partial + opts: Partial = {} ) => { - const dest = >{ - __next(state) { + const streams: any = {}; + const res = >{ + streams, + next(state) { for (let k of keys) { - dest[k].next(state[k]); + streams[k].next(state[k]); } }, - __done() { + done() { for (let k of keys) { - dest[k].done(); + streams[k].done(); } }, }; for (let k of keys) { - dest[k] = subscription(undefined, optsWithID(`obj-${k}`, opts)); - dest[k].next(src[k]); + streams[k] = subscription(undefined, optsWithID(`obj-${k}`, opts)); + opts.initial !== false && streams[k].next(src[k]); } - return dest; + return res; }; diff --git a/packages/rstream/test/object.ts b/packages/rstream/test/object.ts index 5a63d6a6da..5d3a037ab1 100644 --- a/packages/rstream/test/object.ts +++ b/packages/rstream/test/object.ts @@ -1,36 +1,66 @@ import * as assert from "assert"; -import { fromObject, State, Subscription } from "../src/index"; +import { fromObject, State, stream, Subscription } from "../src/index"; + +type Foo = { a?: number; b: string }; describe("fromObject", () => { it("basic", () => { - const streams = fromObject(<{ a?: number; b: string }>{ + const obj = fromObject(<{ a?: number; b: string }>{ a: 1, b: "foo", }); - assert(streams.a instanceof Subscription); - assert(streams.b instanceof Subscription); - assert(streams.a.id.startsWith("obj-a-")); - assert(streams.b.id.startsWith("obj-b-")); + assert(obj.streams.a instanceof Subscription); + assert(obj.streams.b instanceof Subscription); + assert(obj.streams.a.id.startsWith("obj-a-")); + assert(obj.streams.b.id.startsWith("obj-b-")); const acc: any = { a: [], b: [] }; - streams.a.subscribe({ + obj.streams.a.subscribe({ next(x) { acc.a.push(x); }, }); - streams.b.subscribe({ + obj.streams.b.subscribe({ next(x) { acc.b.push(x); }, }); - streams.__next({ a: 2, b: "bar" }); - streams.__next({ b: "baz" }); - streams.__done(); + obj.next({ a: 2, b: "bar" }); + obj.next({ b: "baz" }); + obj.done(); assert.deepEqual(acc, { a: [1, 2, undefined], b: ["foo", "bar", "baz"], }); - assert.equal(streams.a.getState(), State.DONE); - assert.equal(streams.b.getState(), State.DONE); + assert.equal(obj.streams.a.getState(), State.DONE); + assert.equal(obj.streams.b.getState(), State.DONE); + }); + + it("subscriber", () => { + const acc: any = { a: [], b: [] }; + const obj = fromObject({}, ["a", "b"], { initial: false }); + obj.streams.a.subscribe({ + next(x) { + acc.a.push(x); + }, + }); + obj.streams.b.subscribe({ + next(x) { + acc.b.push(x); + }, + }); + + const src = stream(); + src.subscribe(obj); + + src.next({ a: 1, b: "foo" }); + src.next({ b: "bar" }); + src.done(); + assert.deepEqual(acc, { + a: [1, undefined], + b: ["foo", "bar"], + }); + assert.equal(obj.streams.a.getState(), State.DONE); + assert.equal(obj.streams.b.getState(), State.DONE); }); }); From a745950f1f8516f99a430da00541b0b547100efd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 22:15:47 +0100 Subject: [PATCH 05/43] Publish - @thi.ng/rstream-csp@2.0.18 - @thi.ng/rstream-dot@1.1.25 - @thi.ng/rstream-gestures@2.0.17 - @thi.ng/rstream-graph@3.2.18 - @thi.ng/rstream-log-file@0.1.40 - @thi.ng/rstream-log@3.1.25 - @thi.ng/rstream-query@1.1.25 - @thi.ng/rstream@4.2.0 --- packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 4 ++-- packages/rstream-dot/CHANGELOG.md | 8 ++++++++ packages/rstream-dot/package.json | 4 ++-- packages/rstream-gestures/CHANGELOG.md | 8 ++++++++ packages/rstream-gestures/package.json | 4 ++-- packages/rstream-graph/CHANGELOG.md | 8 ++++++++ packages/rstream-graph/package.json | 4 ++-- packages/rstream-log-file/CHANGELOG.md | 8 ++++++++ packages/rstream-log-file/package.json | 4 ++-- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 4 ++-- packages/rstream-query/CHANGELOG.md | 8 ++++++++ packages/rstream-query/package.json | 6 +++--- packages/rstream/CHANGELOG.md | 12 ++++++++++++ packages/rstream/package.json | 2 +- 16 files changed, 84 insertions(+), 16 deletions(-) diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index e59a87bf18..4796debafe 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.17...@thi.ng/rstream-csp@2.0.18) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.16...@thi.ng/rstream-csp@2.0.17) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 85e2ac64ee..57ba99a4cf 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.17", + "version": "2.0.18", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/csp": "^1.1.23", - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 5e6a1aff26..46b7b90e53 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.24...@thi.ng/rstream-dot@1.1.25) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.23...@thi.ng/rstream-dot@1.1.24) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index cf441515ec..730639a4cd 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.24", + "version": "1.1.25", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 5c1c17b118..00a28dbb70 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.16...@thi.ng/rstream-gestures@2.0.17) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.15...@thi.ng/rstream-gestures@2.0.16) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 94fe4d4fb0..d29720c321 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.16", + "version": "2.0.17", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index cf40689ac5..6a91cb8ce1 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.17...@thi.ng/rstream-graph@3.2.18) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.16...@thi.ng/rstream-graph@3.2.17) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 5f664d684c..423190c3d9 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.17", + "version": "3.2.18", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.6", "@thi.ng/resolve-map": "^4.1.23", - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 58503f9ace..e60175552a 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.39...@thi.ng/rstream-log-file@0.1.40) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.38...@thi.ng/rstream-log-file@0.1.39) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 8ed13e79a8..d505dc85b7 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.39", + "version": "0.1.40", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 2da91d9e85..89bd7e4317 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.24...@thi.ng/rstream-log@3.1.25) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.23...@thi.ng/rstream-log@3.1.24) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 233f111a79..e4ceeacbe1 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.24", + "version": "3.1.25", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.1.0", + "@thi.ng/rstream": "^4.2.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 00801df8d1..b8d3571029 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.24...@thi.ng/rstream-query@1.1.25) (2020-05-15) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.23...@thi.ng/rstream-query@1.1.24) (2020-05-14) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 9dc2ff1c6b..69f2f09a59 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.24", + "version": "1.1.25", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.1.0", - "@thi.ng/rstream-dot": "^1.1.24", + "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream-dot": "^1.1.25", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 24374062c4..18387c3758 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.1.0...@thi.ng/rstream@4.2.0) (2020-05-15) + + +### Features + +* **rstream:** add fromObject(), add docs & tests ([5e854eb](https://github.com/thi-ng/umbrella/commit/5e854eb64c28eac2221b656db528b819449bdcbd)) +* **rstream:** update fromObject(), add StreamObjOpts, update docs ([f3ca3b6](https://github.com/thi-ng/umbrella/commit/f3ca3b6fef4568cb5c8992166e1db931c173ffca)) + + + + + # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.8...@thi.ng/rstream@4.1.0) (2020-05-14) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 984efdaa72..31b39a9e94 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.1.0", + "version": "4.2.0", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", From 7c71b8bf0df1bb6ee90e1d05aaf7aabd0fe0781a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 23:08:11 +0100 Subject: [PATCH 06/43] build(examples): update tsconfig (ES2017 target, ES2020 modules) --- examples/adaptive-threshold/tsconfig.json | 6 ++---- examples/async-effect/tsconfig.json | 10 ++++------ examples/bitmap-font/tsconfig.json | 2 +- examples/canvas-dial/tsconfig.json | 10 ++++------ examples/cellular-automata/tsconfig.json | 10 ++++------ examples/commit-heatmap/tsconfig.json | 2 +- examples/commit-table-ssr/tsconfig.json | 8 +++----- examples/crypto-chart/tsconfig.json | 10 ++++------ examples/devcards/tsconfig.json | 10 ++++------ examples/fft-synth/tsconfig.json | 6 ++---- examples/geom-convex-hull/tsconfig.json | 6 ++---- examples/geom-knn/tsconfig.json | 10 ++++------ examples/geom-tessel/tsconfig.json | 12 +++++------- examples/geom-voronoi-mst/tsconfig.json | 6 ++---- examples/gesture-analysis/tsconfig.json | 10 ++++------ examples/grid-iterators/tsconfig.json | 6 ++---- examples/hdom-basics/tsconfig.json | 10 ++++------ examples/hdom-benchmark/tsconfig.json | 10 ++++------ examples/hdom-benchmark2/tsconfig.json | 10 ++++------ examples/hdom-canvas-clock/tsconfig.json | 10 ++++------ examples/hdom-canvas-draw/tsconfig.json | 10 ++++------ examples/hdom-canvas-particles/tsconfig.json | 6 ++---- examples/hdom-canvas-shapes/tsconfig.json | 10 ++++------ examples/hdom-dropdown-fuzzy/tsconfig.json | 10 ++++------ examples/hdom-dropdown/tsconfig.json | 10 ++++------ examples/hdom-dyn-context/tsconfig.json | 10 ++++------ examples/hdom-elm/tsconfig.json | 6 ++---- examples/hdom-inner-html/tsconfig.json | 6 ++---- examples/hdom-local-render/tsconfig.json | 6 ++---- examples/hdom-localstate/tsconfig.json | 6 ++---- examples/hdom-skip-nested/tsconfig.json | 6 ++---- examples/hdom-skip/tsconfig.json | 10 ++++------ examples/hdom-theme-adr-0003/tsconfig.json | 10 ++++------ examples/hdom-toggle/tsconfig.json | 6 ++---- examples/hdom-vscroller/tsconfig.json | 10 ++++------ examples/hmr-basics/tsconfig.json | 10 ++++------ examples/hydrate-basics/tsconfig.json | 10 ++++------ examples/imgui/tsconfig.json | 6 ++---- examples/interceptor-basics/tsconfig.json | 10 ++++------ examples/interceptor-basics2/tsconfig.json | 10 ++++------ examples/iso-plasma/tsconfig.json | 6 ++---- examples/json-components/tsconfig.json | 10 ++++------ examples/login-form/tsconfig.json | 10 ++++------ examples/mandelbrot/tsconfig.json | 10 ++++------ examples/markdown/tsconfig.json | 10 ++++------ examples/multitouch/tsconfig.json | 6 ++---- examples/package-stats/tsconfig.json | 2 +- examples/pixel-basics/tsconfig.json | 6 ++---- examples/pointfree-svg/tsconfig.json | 8 +++----- examples/poly-spline/tsconfig.json | 6 ++---- examples/porter-duff/tsconfig.json | 6 ++---- examples/ramp-synth/tsconfig.json | 6 ++---- examples/rotating-voronoi/tsconfig.json | 6 ++---- examples/router-basics/tsconfig.json | 10 ++++------ examples/rstream-dataflow/tsconfig.json | 10 ++++------ examples/rstream-event-loop/tsconfig.json | 6 ++---- examples/rstream-grid/tsconfig.json | 10 ++++------ examples/rstream-hdom/tsconfig.json | 10 ++++------ examples/rstream-spreadsheet/tsconfig.json | 6 ++---- examples/scenegraph-image/tsconfig.json | 6 ++---- examples/scenegraph/tsconfig.json | 6 ++---- examples/shader-ast-canvas2d/tsconfig.json | 6 ++---- examples/shader-ast-evo/tsconfig.json | 6 ++---- examples/shader-ast-noise/tsconfig.json | 6 ++---- examples/shader-ast-raymarch/tsconfig.json | 6 ++---- examples/shader-ast-sdf2d/tsconfig.json | 6 ++---- examples/shader-ast-tunnel/tsconfig.json | 6 ++---- examples/shader-ast-workers/tsconfig.json | 2 +- examples/soa-ecs/tsconfig.json | 2 +- examples/svg-barchart/tsconfig.json | 10 ++++------ examples/svg-particles/tsconfig.json | 10 ++++------ examples/svg-waveform/tsconfig.json | 10 ++++------ examples/talk-slides/tsconfig.json | 10 ++++------ examples/text-canvas/tsconfig.json | 6 ++---- examples/todo-list/tsconfig.json | 10 ++++------ examples/transducers-hdom/tsconfig.json | 10 ++++------ examples/triple-query/tsconfig.json | 4 ++-- examples/webgl-cube/tsconfig.json | 6 ++---- examples/webgl-cubemap/tsconfig.json | 6 ++---- examples/webgl-grid/tsconfig.json | 6 ++---- examples/webgl-msdf/tsconfig.json | 6 ++---- examples/webgl-multipass/tsconfig.json | 6 ++---- examples/webgl-shadertoy/tsconfig.json | 6 ++---- examples/webgl-ssao/tsconfig.json | 6 ++---- examples/wolfram/tsconfig.json | 6 ++---- examples/xml-converter/tsconfig.json | 10 ++++------ 86 files changed, 248 insertions(+), 408 deletions(-) diff --git a/examples/adaptive-threshold/tsconfig.json b/examples/adaptive-threshold/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/adaptive-threshold/tsconfig.json +++ b/examples/adaptive-threshold/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/async-effect/tsconfig.json b/examples/async-effect/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/async-effect/tsconfig.json +++ b/examples/async-effect/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/bitmap-font/tsconfig.json b/examples/bitmap-font/tsconfig.json index 3c1d9eef6d..118d2a6ce2 100644 --- a/examples/bitmap-font/tsconfig.json +++ b/examples/bitmap-font/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true, "strictBindCallApply": false }, diff --git a/examples/canvas-dial/tsconfig.json b/examples/canvas-dial/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/canvas-dial/tsconfig.json +++ b/examples/canvas-dial/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/cellular-automata/tsconfig.json b/examples/cellular-automata/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/cellular-automata/tsconfig.json +++ b/examples/cellular-automata/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/commit-heatmap/tsconfig.json b/examples/commit-heatmap/tsconfig.json index d7238ce396..5f4b4e663a 100644 --- a/examples/commit-heatmap/tsconfig.json +++ b/examples/commit-heatmap/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "module": "commonjs", "lib": ["ES2020.String"] }, diff --git a/examples/commit-table-ssr/tsconfig.json b/examples/commit-table-ssr/tsconfig.json index 5ecdbdef82..33368e391a 100644 --- a/examples/commit-table-ssr/tsconfig.json +++ b/examples/commit-table-ssr/tsconfig.json @@ -3,10 +3,8 @@ "compilerOptions": { "outDir": "./build", "module": "commonjs", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/crypto-chart/tsconfig.json b/examples/crypto-chart/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/crypto-chart/tsconfig.json +++ b/examples/crypto-chart/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/devcards/tsconfig.json b/examples/devcards/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/devcards/tsconfig.json +++ b/examples/devcards/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/fft-synth/tsconfig.json b/examples/fft-synth/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/fft-synth/tsconfig.json +++ b/examples/fft-synth/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/geom-convex-hull/tsconfig.json b/examples/geom-convex-hull/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/geom-convex-hull/tsconfig.json +++ b/examples/geom-convex-hull/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/geom-knn/tsconfig.json b/examples/geom-knn/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/geom-knn/tsconfig.json +++ b/examples/geom-knn/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/geom-tessel/tsconfig.json b/examples/geom-tessel/tsconfig.json index 440ebac19c..4710ad552b 100644 --- a/examples/geom-tessel/tsconfig.json +++ b/examples/geom-tessel/tsconfig.json @@ -2,13 +2,11 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true, "noUnusedLocals": false, - "noUnusedParameters": false, + "noUnusedParameters": false }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/geom-voronoi-mst/tsconfig.json b/examples/geom-voronoi-mst/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/geom-voronoi-mst/tsconfig.json +++ b/examples/geom-voronoi-mst/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/gesture-analysis/tsconfig.json b/examples/gesture-analysis/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/gesture-analysis/tsconfig.json +++ b/examples/gesture-analysis/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/grid-iterators/tsconfig.json b/examples/grid-iterators/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/grid-iterators/tsconfig.json +++ b/examples/grid-iterators/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-basics/tsconfig.json b/examples/hdom-basics/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-basics/tsconfig.json +++ b/examples/hdom-basics/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-benchmark/tsconfig.json b/examples/hdom-benchmark/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-benchmark/tsconfig.json +++ b/examples/hdom-benchmark/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-benchmark2/tsconfig.json b/examples/hdom-benchmark2/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-benchmark2/tsconfig.json +++ b/examples/hdom-benchmark2/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-canvas-clock/tsconfig.json b/examples/hdom-canvas-clock/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-canvas-clock/tsconfig.json +++ b/examples/hdom-canvas-clock/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-canvas-draw/tsconfig.json b/examples/hdom-canvas-draw/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-canvas-draw/tsconfig.json +++ b/examples/hdom-canvas-draw/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-canvas-particles/tsconfig.json b/examples/hdom-canvas-particles/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-canvas-particles/tsconfig.json +++ b/examples/hdom-canvas-particles/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-canvas-shapes/tsconfig.json b/examples/hdom-canvas-shapes/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-canvas-shapes/tsconfig.json +++ b/examples/hdom-canvas-shapes/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-dropdown-fuzzy/tsconfig.json b/examples/hdom-dropdown-fuzzy/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-dropdown-fuzzy/tsconfig.json +++ b/examples/hdom-dropdown-fuzzy/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-dropdown/tsconfig.json b/examples/hdom-dropdown/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-dropdown/tsconfig.json +++ b/examples/hdom-dropdown/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-dyn-context/tsconfig.json b/examples/hdom-dyn-context/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-dyn-context/tsconfig.json +++ b/examples/hdom-dyn-context/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-elm/tsconfig.json b/examples/hdom-elm/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-elm/tsconfig.json +++ b/examples/hdom-elm/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-inner-html/tsconfig.json b/examples/hdom-inner-html/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-inner-html/tsconfig.json +++ b/examples/hdom-inner-html/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-local-render/tsconfig.json b/examples/hdom-local-render/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-local-render/tsconfig.json +++ b/examples/hdom-local-render/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-localstate/tsconfig.json b/examples/hdom-localstate/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-localstate/tsconfig.json +++ b/examples/hdom-localstate/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-skip-nested/tsconfig.json b/examples/hdom-skip-nested/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-skip-nested/tsconfig.json +++ b/examples/hdom-skip-nested/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-skip/tsconfig.json b/examples/hdom-skip/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-skip/tsconfig.json +++ b/examples/hdom-skip/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-theme-adr-0003/tsconfig.json b/examples/hdom-theme-adr-0003/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-theme-adr-0003/tsconfig.json +++ b/examples/hdom-theme-adr-0003/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hdom-toggle/tsconfig.json b/examples/hdom-toggle/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/hdom-toggle/tsconfig.json +++ b/examples/hdom-toggle/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/hdom-vscroller/tsconfig.json b/examples/hdom-vscroller/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hdom-vscroller/tsconfig.json +++ b/examples/hdom-vscroller/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hmr-basics/tsconfig.json b/examples/hmr-basics/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hmr-basics/tsconfig.json +++ b/examples/hmr-basics/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/hydrate-basics/tsconfig.json b/examples/hydrate-basics/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/hydrate-basics/tsconfig.json +++ b/examples/hydrate-basics/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/imgui/tsconfig.json b/examples/imgui/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/imgui/tsconfig.json +++ b/examples/imgui/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/interceptor-basics/tsconfig.json b/examples/interceptor-basics/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/interceptor-basics/tsconfig.json +++ b/examples/interceptor-basics/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/interceptor-basics2/tsconfig.json b/examples/interceptor-basics2/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/interceptor-basics2/tsconfig.json +++ b/examples/interceptor-basics2/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/iso-plasma/tsconfig.json b/examples/iso-plasma/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/iso-plasma/tsconfig.json +++ b/examples/iso-plasma/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/json-components/tsconfig.json b/examples/json-components/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/json-components/tsconfig.json +++ b/examples/json-components/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/login-form/tsconfig.json b/examples/login-form/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/login-form/tsconfig.json +++ b/examples/login-form/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/mandelbrot/tsconfig.json b/examples/mandelbrot/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/mandelbrot/tsconfig.json +++ b/examples/mandelbrot/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/markdown/tsconfig.json b/examples/markdown/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/markdown/tsconfig.json +++ b/examples/markdown/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/multitouch/tsconfig.json b/examples/multitouch/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/multitouch/tsconfig.json +++ b/examples/multitouch/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/package-stats/tsconfig.json b/examples/package-stats/tsconfig.json index 373b7a7d9c..a1f9669b89 100644 --- a/examples/package-stats/tsconfig.json +++ b/examples/package-stats/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "outDir": "lib", "module": "commonjs", - "target": "es6", + "target": "es2017", "noUnusedLocals": false, "noUnusedParameters": false }, diff --git a/examples/pixel-basics/tsconfig.json b/examples/pixel-basics/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/pixel-basics/tsconfig.json +++ b/examples/pixel-basics/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/pointfree-svg/tsconfig.json b/examples/pointfree-svg/tsconfig.json index 79a8c793a7..0d8e55f541 100644 --- a/examples/pointfree-svg/tsconfig.json +++ b/examples/pointfree-svg/tsconfig.json @@ -3,10 +3,8 @@ "compilerOptions": { "outDir": ".", "module": "commonjs", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/poly-spline/tsconfig.json b/examples/poly-spline/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/poly-spline/tsconfig.json +++ b/examples/poly-spline/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/porter-duff/tsconfig.json b/examples/porter-duff/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/porter-duff/tsconfig.json +++ b/examples/porter-duff/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/ramp-synth/tsconfig.json b/examples/ramp-synth/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/ramp-synth/tsconfig.json +++ b/examples/ramp-synth/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/rotating-voronoi/tsconfig.json b/examples/rotating-voronoi/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/rotating-voronoi/tsconfig.json +++ b/examples/rotating-voronoi/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/router-basics/tsconfig.json b/examples/router-basics/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/router-basics/tsconfig.json +++ b/examples/router-basics/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/rstream-dataflow/tsconfig.json b/examples/rstream-dataflow/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/rstream-dataflow/tsconfig.json +++ b/examples/rstream-dataflow/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/rstream-event-loop/tsconfig.json b/examples/rstream-event-loop/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/rstream-event-loop/tsconfig.json +++ b/examples/rstream-event-loop/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/rstream-grid/tsconfig.json b/examples/rstream-grid/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/rstream-grid/tsconfig.json +++ b/examples/rstream-grid/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/rstream-hdom/tsconfig.json b/examples/rstream-hdom/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/rstream-hdom/tsconfig.json +++ b/examples/rstream-hdom/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/rstream-spreadsheet/tsconfig.json b/examples/rstream-spreadsheet/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/rstream-spreadsheet/tsconfig.json +++ b/examples/rstream-spreadsheet/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/scenegraph-image/tsconfig.json b/examples/scenegraph-image/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/scenegraph-image/tsconfig.json +++ b/examples/scenegraph-image/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/scenegraph/tsconfig.json b/examples/scenegraph/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/scenegraph/tsconfig.json +++ b/examples/scenegraph/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-canvas2d/tsconfig.json b/examples/shader-ast-canvas2d/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-canvas2d/tsconfig.json +++ b/examples/shader-ast-canvas2d/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-evo/tsconfig.json b/examples/shader-ast-evo/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-evo/tsconfig.json +++ b/examples/shader-ast-evo/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-noise/tsconfig.json b/examples/shader-ast-noise/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-noise/tsconfig.json +++ b/examples/shader-ast-noise/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-raymarch/tsconfig.json b/examples/shader-ast-raymarch/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-raymarch/tsconfig.json +++ b/examples/shader-ast-raymarch/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-sdf2d/tsconfig.json b/examples/shader-ast-sdf2d/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-sdf2d/tsconfig.json +++ b/examples/shader-ast-sdf2d/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-tunnel/tsconfig.json b/examples/shader-ast-tunnel/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/shader-ast-tunnel/tsconfig.json +++ b/examples/shader-ast-tunnel/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/shader-ast-workers/tsconfig.json b/examples/shader-ast-workers/tsconfig.json index 3409545b1e..4fee6fa2b0 100644 --- a/examples/shader-ast-workers/tsconfig.json +++ b/examples/shader-ast-workers/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true, "noUnusedLocals": false, "noUnusedParameters": false diff --git a/examples/soa-ecs/tsconfig.json b/examples/soa-ecs/tsconfig.json index 3409545b1e..4fee6fa2b0 100644 --- a/examples/soa-ecs/tsconfig.json +++ b/examples/soa-ecs/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true, "noUnusedLocals": false, "noUnusedParameters": false diff --git a/examples/svg-barchart/tsconfig.json b/examples/svg-barchart/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/svg-barchart/tsconfig.json +++ b/examples/svg-barchart/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/svg-particles/tsconfig.json b/examples/svg-particles/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/svg-particles/tsconfig.json +++ b/examples/svg-particles/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/svg-waveform/tsconfig.json b/examples/svg-waveform/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/svg-waveform/tsconfig.json +++ b/examples/svg-waveform/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/talk-slides/tsconfig.json b/examples/talk-slides/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/talk-slides/tsconfig.json +++ b/examples/talk-slides/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/text-canvas/tsconfig.json b/examples/text-canvas/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/text-canvas/tsconfig.json +++ b/examples/text-canvas/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/todo-list/tsconfig.json b/examples/todo-list/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/todo-list/tsconfig.json +++ b/examples/todo-list/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/transducers-hdom/tsconfig.json b/examples/transducers-hdom/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/transducers-hdom/tsconfig.json +++ b/examples/transducers-hdom/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} diff --git a/examples/triple-query/tsconfig.json b/examples/triple-query/tsconfig.json index 86aea29daa..0f5da53283 100644 --- a/examples/triple-query/tsconfig.json +++ b/examples/triple-query/tsconfig.json @@ -2,8 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true, "strictFunctionTypes": false }, diff --git a/examples/webgl-cube/tsconfig.json b/examples/webgl-cube/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-cube/tsconfig.json +++ b/examples/webgl-cube/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-cubemap/tsconfig.json b/examples/webgl-cubemap/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-cubemap/tsconfig.json +++ b/examples/webgl-cubemap/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-grid/tsconfig.json b/examples/webgl-grid/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-grid/tsconfig.json +++ b/examples/webgl-grid/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-msdf/tsconfig.json b/examples/webgl-msdf/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-msdf/tsconfig.json +++ b/examples/webgl-msdf/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-multipass/tsconfig.json b/examples/webgl-multipass/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-multipass/tsconfig.json +++ b/examples/webgl-multipass/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-shadertoy/tsconfig.json b/examples/webgl-shadertoy/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-shadertoy/tsconfig.json +++ b/examples/webgl-shadertoy/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/webgl-ssao/tsconfig.json b/examples/webgl-ssao/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/webgl-ssao/tsconfig.json +++ b/examples/webgl-ssao/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/wolfram/tsconfig.json b/examples/wolfram/tsconfig.json index bbf112cc18..742fca52a4 100644 --- a/examples/wolfram/tsconfig.json +++ b/examples/wolfram/tsconfig.json @@ -2,10 +2,8 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "target": "es6", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] + "include": ["./src/**/*.ts"] } diff --git a/examples/xml-converter/tsconfig.json b/examples/xml-converter/tsconfig.json index 50a1cade93..41f786f571 100644 --- a/examples/xml-converter/tsconfig.json +++ b/examples/xml-converter/tsconfig.json @@ -2,11 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": ".", - "module": "es6", - "target": "es6", + "module": "es2020", + "target": "es2017", "sourceMap": true }, - "include": [ - "./src/**/*.ts" - ] -} \ No newline at end of file + "include": ["./src/**/*.ts"] +} From a17c27eacdb313d9a3a558ccbdfb352d99f52a45 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 15 May 2020 23:26:07 +0100 Subject: [PATCH 07/43] docs(parse): update pkg metadata, readme --- packages/parse/README.md | 8 +++++++- packages/parse/package.json | 7 +++++++ packages/parse/tpl.readme.md | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/parse/README.md b/packages/parse/README.md index 2682340c7d..9747a98324 100644 --- a/packages/parse/README.md +++ b/packages/parse/README.md @@ -12,6 +12,7 @@ This project is part of the - [About](#about) - [Features](#features) - [Status](#status) + - [Related packages](#related-packages) - [Installation](#installation) - [Dependencies](#dependencies) - [API](#api) @@ -51,6 +52,11 @@ Purely functional parser combinators & AST generation for generic inputs. **ALPHA** - bleeding edge / work-in-progress +### Related packages + +- [@thi.ng/fsm](https://github.com/thi-ng/umbrella/tree/develop/packages/fsm) - Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams +- [@thi.ng/transducers-fsm](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers-fsm) - Transducer-based Finite State Machine transformer + ## Installation ```bash @@ -173,7 +179,7 @@ Actual transforms: ## Grammar definition Complex parsers can be constructed via -[`defGrammar()`](https://github.com/thi-ng/umbrella/tree/develop/packages/parse/src/grammar.ts#L228), +[`defGrammar()`](https://github.com/thi-ng/umbrella/tree/develop/packages/parse/src/grammar.ts#L236), which accepts a string of rule definitions in the built-in (and still WIP) grammar rule definition language, similar to PEGs and regular expressions: diff --git a/packages/parse/package.json b/packages/parse/package.json index d23878ce31..d1b8cb2855 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -62,11 +62,14 @@ "keywords": [ "AST", "combinator", + "compiler", "composition", "ES6", "functional", "grammar", "parser", + "PEG", + "regexp", "recursive", "typescript" ], @@ -75,6 +78,10 @@ }, "sideEffects": false, "thi.ng": { + "related": [ + "fsm", + "transducers-fsm" + ], "status": "alpha", "year": 2020 } diff --git a/packages/parse/tpl.readme.md b/packages/parse/tpl.readme.md index c3c86d0546..f228772b33 100644 --- a/packages/parse/tpl.readme.md +++ b/packages/parse/tpl.readme.md @@ -145,7 +145,7 @@ Actual transforms: ## Grammar definition Complex parsers can be constructed via -[`defGrammar()`](https://github.com/thi-ng/umbrella/tree/develop/packages/parse/src/grammar.ts#L228), +[`defGrammar()`](https://github.com/thi-ng/umbrella/tree/develop/packages/parse/src/grammar.ts#L236), which accepts a string of rule definitions in the built-in (and still WIP) grammar rule definition language, similar to PEGs and regular expressions: From 975f74c88ccd8ca9560505f0de74cc8d28c05ac0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 12:57:31 +0100 Subject: [PATCH 08/43] feat(rstream): extend fromObject() features/opts - add support for default values, dedupe, equiv predicate --- packages/rstream/src/from/object.ts | 82 ++++++++++++++++++++--------- packages/rstream/test/object.ts | 47 ++++++++++++++--- 2 files changed, 98 insertions(+), 31 deletions(-) diff --git a/packages/rstream/src/from/object.ts b/packages/rstream/src/from/object.ts index fe1b3d579b..4216c4a4f6 100644 --- a/packages/rstream/src/from/object.ts +++ b/packages/rstream/src/from/object.ts @@ -1,18 +1,21 @@ -import { Keys } from "@thi.ng/api"; +import type { Keys, Predicate2 } from "@thi.ng/api"; +import { dedupe } from "@thi.ng/transducers"; +import type { CommonOpts, SubscriptionOpts } from "../api"; import { Subscription, subscription } from "../subscription"; -import { CommonOpts } from "../api"; -import { optsWithID } from "../utils/idgen"; +import { nextID } from "../utils/idgen"; + +export type KeyStreams> = { + [id in K]-?: Subscription; +}; /** * Result object type for {@link fromObject}. */ export interface StreamObj> { /** - * Object of managed streams for registered keys. + * Object of managed & typed streams for registered keys. */ - streams: { - [id in K]-?: Subscription; - }; + streams: KeyStreams; /** * Feeds new values from `x` to each registered key's stream. * Satifies {@link ISubscriber.next} interface. @@ -27,7 +30,12 @@ export interface StreamObj> { done(): void; } -export interface StreamObjOpts extends CommonOpts { +export interface StreamObjOpts> extends CommonOpts { + /** + * Array of selected `keys` (else selects all by default) for which + * to create streams. + */ + keys: K[]; /** * If true (default), all created streams will be seeded with key * values from the source object. @@ -35,12 +43,29 @@ export interface StreamObjOpts extends CommonOpts { * @defaultValue true */ initial: boolean; + /** + * Default values to use for `undefined` values of registered keys. + */ + defaults: Partial; + /** + * If true, attaches {@link @thi.ng/transducers#dedupe} transducer + * to each key's value stream to avoid obsolete downstream + * propagation when a key's value hasn't actually changed. + * + * @defaultValue true + */ + dedupe: boolean; + /** + * Generic equality predicate to be used for `dedupe` (`===` by + * default). Ignored if `dedupe` option is false. + */ + equiv: Predicate2; } /** - * Takes an arbitrary object `src` and optional array of `keys` (else - * selects all by default). Creates a new object and for each key - * creates a new stream, optionally seeded with the key's value in + * Takes an arbitrary object `src` and object of options (see + * {@link StreamObjOpts}). Creates a new object and for each selected + * key creates a new stream, optionally seeded with the key's value in * `src`. Returns new object of streams. * * @remarks @@ -55,18 +80,20 @@ export interface StreamObjOpts extends CommonOpts { * } * ``` * - * All streams (only for given `keys`) will be stored under `streams`. - * The `next()` and `done()` functions/methods allow the object itself - * to be used as subscriber for an upstream subscribable (see 2nd - * example): + * All streams will be stored under `streams`. The `next()` and `done()` + * functions/methods allow the object itself to be used as subscriber + * for an upstream subscribable (see 2nd example below): * * - `next()` - takes a object of same type as `src` and feeds each - * key's new value into its respective stream. + * key's new value into its respective stream. If the `defaults` + * option is given, `undefined` key values are replaced with their + * specified default. If `dedupe` is enabled (default) only changed + * values (as per `equiv` predicate option) will be propagated + * downstream. * - `done()` - calls {@link ISubscriber.done} on all streams * - * The optional `opts` arg is used to specify shared options for *all* - * created streams. If the `id` option isn't provided, each stream will - * get an autogenerated ID in the form `obj-${keyname}-${counter}`. + * The optional `opts` arg is used to customize overall behavior of + * `fromObject` and specify shared options for *all* created streams. * * @example * ```ts @@ -100,20 +127,27 @@ export interface StreamObjOpts extends CommonOpts { * ``` * * @param src - * @param keys * @param opts */ export const fromObject = >( src: T, - keys: K[] = Object.keys(src), - opts: Partial = {} + opts: Partial> = {} ) => { + const id = opts.id || `obj${nextID()}`; + const keys = opts.keys || Object.keys(src); + const _opts: Partial> = + opts.dedupe !== false + ? { xform: dedupe(opts.equiv || ((a, b) => a === b)), ...opts } + : opts; const streams: any = {}; const res = >{ streams, next(state) { for (let k of keys) { - streams[k].next(state[k]); + const val = state[k]; + streams[k].next( + opts.defaults && val === undefined ? opts.defaults[k] : val + ); } }, done() { @@ -123,7 +157,7 @@ export const fromObject = >( }, }; for (let k of keys) { - streams[k] = subscription(undefined, optsWithID(`obj-${k}`, opts)); + streams[k] = subscription(undefined, { ..._opts, id: `${id}-${k}` }); opts.initial !== false && streams[k].next(src[k]); } return res; diff --git a/packages/rstream/test/object.ts b/packages/rstream/test/object.ts index 5d3a037ab1..27a6ce8900 100644 --- a/packages/rstream/test/object.ts +++ b/packages/rstream/test/object.ts @@ -5,14 +5,17 @@ type Foo = { a?: number; b: string }; describe("fromObject", () => { it("basic", () => { - const obj = fromObject(<{ a?: number; b: string }>{ - a: 1, - b: "foo", - }); + const obj = fromObject( + <{ a?: number; b: string }>{ + a: 1, + b: "foo", + }, + { id: "test" } + ); assert(obj.streams.a instanceof Subscription); assert(obj.streams.b instanceof Subscription); - assert(obj.streams.a.id.startsWith("obj-a-")); - assert(obj.streams.b.id.startsWith("obj-b-")); + assert(obj.streams.a.id.startsWith("test-a")); + assert(obj.streams.b.id.startsWith("test-b")); const acc: any = { a: [], b: [] }; obj.streams.a.subscribe({ @@ -38,7 +41,7 @@ describe("fromObject", () => { it("subscriber", () => { const acc: any = { a: [], b: [] }; - const obj = fromObject({}, ["a", "b"], { initial: false }); + const obj = fromObject({}, { keys: ["a", "b"], initial: false }); obj.streams.a.subscribe({ next(x) { acc.a.push(x); @@ -63,4 +66,34 @@ describe("fromObject", () => { assert.equal(obj.streams.a.getState(), State.DONE); assert.equal(obj.streams.b.getState(), State.DONE); }); + + it("defaults & dedupe", () => { + const acc: any = { a: [], b: [] }; + const obj = fromObject({}, { + keys: ["a", "b"], + initial: false, + defaults: { a: 0 }, + }); + obj.streams.a.subscribe({ + next(x) { + acc.a.push(x); + }, + }); + obj.streams.b.subscribe({ + next(x) { + acc.b.push(x); + }, + }); + + obj.next({ a: 1, b: "foo" }); + obj.next({ b: "bar" }); + obj.next({ a: 0, b: "bar" }); + obj.next({ a: 2, b: "bar" }); + obj.next({ a: 2, b: "baz" }); + obj.next({ b: "baz" }); + assert.deepEqual(acc, { + a: [1, 0, 2, 0], + b: ["foo", "bar", "baz"], + }); + }); }); From 4a0bf5ea2b8ca17b09401c3b06659c0366031297 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 12:59:07 +0100 Subject: [PATCH 09/43] docs(rstream): update readme --- packages/rstream/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rstream/README.md b/packages/rstream/README.md index de1c4dfa7c..d85f87195d 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -136,7 +136,7 @@ yarn add @thi.ng/rstream ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.19 KB / CJS: 5.37 KB / UMD: 5.29 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.27 KB / CJS: 5.45 KB / UMD: 5.38 KB ## Dependencies From 41daaac5c1e8c7b7e238105faa96d2abdfc227f2 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 12:59:42 +0100 Subject: [PATCH 10/43] Publish - @thi.ng/parse@0.5.5 - @thi.ng/rstream-csp@2.0.19 - @thi.ng/rstream-dot@1.1.26 - @thi.ng/rstream-gestures@2.0.18 - @thi.ng/rstream-graph@3.2.19 - @thi.ng/rstream-log-file@0.1.41 - @thi.ng/rstream-log@3.1.26 - @thi.ng/rstream-query@1.1.26 - @thi.ng/rstream@4.3.0 --- packages/parse/CHANGELOG.md | 8 ++++++++ packages/parse/package.json | 2 +- packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 4 ++-- packages/rstream-dot/CHANGELOG.md | 8 ++++++++ packages/rstream-dot/package.json | 4 ++-- packages/rstream-gestures/CHANGELOG.md | 8 ++++++++ packages/rstream-gestures/package.json | 4 ++-- packages/rstream-graph/CHANGELOG.md | 8 ++++++++ packages/rstream-graph/package.json | 4 ++-- packages/rstream-log-file/CHANGELOG.md | 8 ++++++++ packages/rstream-log-file/package.json | 4 ++-- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 4 ++-- packages/rstream-query/CHANGELOG.md | 8 ++++++++ packages/rstream-query/package.json | 6 +++--- packages/rstream/CHANGELOG.md | 11 +++++++++++ packages/rstream/package.json | 2 +- 18 files changed, 92 insertions(+), 17 deletions(-) diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index 2b8f583282..bfe063c5b8 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.4...@thi.ng/parse@0.5.5) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/parse + + + + + ## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.3...@thi.ng/parse@0.5.4) (2020-05-14) **Note:** Version bump only for package @thi.ng/parse diff --git a/packages/parse/package.json b/packages/parse/package.json index d1b8cb2855..8d428520c3 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.5.4", + "version": "0.5.5", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 4796debafe..841caa56cd 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.18...@thi.ng/rstream-csp@2.0.19) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.17...@thi.ng/rstream-csp@2.0.18) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 57ba99a4cf..a9c24b79f8 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.18", + "version": "2.0.19", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/csp": "^1.1.23", - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 46b7b90e53..06868a1f2d 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.25...@thi.ng/rstream-dot@1.1.26) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.24...@thi.ng/rstream-dot@1.1.25) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 730639a4cd..85b82d1b05 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.25", + "version": "1.1.26", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 00a28dbb70..06c89c36bc 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.17...@thi.ng/rstream-gestures@2.0.18) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.16...@thi.ng/rstream-gestures@2.0.17) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index d29720c321..2048d5d57e 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.17", + "version": "2.0.18", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 6a91cb8ce1..a40728d60a 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.18...@thi.ng/rstream-graph@3.2.19) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.17...@thi.ng/rstream-graph@3.2.18) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 423190c3d9..c43811c0f8 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.18", + "version": "3.2.19", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.6", "@thi.ng/resolve-map": "^4.1.23", - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index e60175552a..f6eaf15bd2 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.40...@thi.ng/rstream-log-file@0.1.41) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.39...@thi.ng/rstream-log-file@0.1.40) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index d505dc85b7..3fa5b4ff1e 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.40", + "version": "0.1.41", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 89bd7e4317..7312e2475e 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.25...@thi.ng/rstream-log@3.1.26) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.24...@thi.ng/rstream-log@3.1.25) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index e4ceeacbe1..d5bdaac89a 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.25", + "version": "3.1.26", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.2.0", + "@thi.ng/rstream": "^4.3.0", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index b8d3571029..360b9f0f08 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.25...@thi.ng/rstream-query@1.1.26) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.24...@thi.ng/rstream-query@1.1.25) (2020-05-15) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 69f2f09a59..7acffb1be1 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.25", + "version": "1.1.26", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.2.0", - "@thi.ng/rstream-dot": "^1.1.25", + "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream-dot": "^1.1.26", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 18387c3758..0e84f5e35b 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.2.0...@thi.ng/rstream@4.3.0) (2020-05-16) + + +### Features + +* **rstream:** extend fromObject() features/opts ([975f74c](https://github.com/thi-ng/umbrella/commit/975f74c88ccd8ca9560505f0de74cc8d28c05ac0)) + + + + + # [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.1.0...@thi.ng/rstream@4.2.0) (2020-05-15) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 31b39a9e94..f9f1a25bec 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.2.0", + "version": "4.3.0", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", From 25117e3e6fe145c2a1c30fa5a97d997e1929900c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 14:23:03 +0100 Subject: [PATCH 11/43] fix(rstream): initial default val handling in fromObject() - defaults now applied to initial seed values (if enabled) - update tests --- packages/rstream/README.md | 2 +- packages/rstream/src/from/object.ts | 16 +++++++++++----- packages/rstream/test/object.ts | 6 +++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/rstream/README.md b/packages/rstream/README.md index d85f87195d..eacedfba6d 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -136,7 +136,7 @@ yarn add @thi.ng/rstream ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.27 KB / CJS: 5.45 KB / UMD: 5.38 KB +Package sizes (gzipped, pre-treeshake): ESM: 5.26 KB / CJS: 5.45 KB / UMD: 5.38 KB ## Dependencies diff --git a/packages/rstream/src/from/object.ts b/packages/rstream/src/from/object.ts index 4216c4a4f6..b1219648ee 100644 --- a/packages/rstream/src/from/object.ts +++ b/packages/rstream/src/from/object.ts @@ -137,9 +137,18 @@ export const fromObject = >( const keys = opts.keys || Object.keys(src); const _opts: Partial> = opts.dedupe !== false - ? { xform: dedupe(opts.equiv || ((a, b) => a === b)), ...opts } + ? { + xform: dedupe(opts.equiv || ((a, b) => a === b)), + ...opts, + } : opts; const streams: any = {}; + for (let k of keys) { + streams[k] = subscription(undefined, { + ..._opts, + id: `${id}-${k}`, + }); + } const res = >{ streams, next(state) { @@ -156,9 +165,6 @@ export const fromObject = >( } }, }; - for (let k of keys) { - streams[k] = subscription(undefined, { ..._opts, id: `${id}-${k}` }); - opts.initial !== false && streams[k].next(src[k]); - } + opts.initial !== false && res.next(src); return res; }; diff --git a/packages/rstream/test/object.ts b/packages/rstream/test/object.ts index 27a6ce8900..25aa7aa23d 100644 --- a/packages/rstream/test/object.ts +++ b/packages/rstream/test/object.ts @@ -85,14 +85,14 @@ describe("fromObject", () => { }, }); - obj.next({ a: 1, b: "foo" }); - obj.next({ b: "bar" }); + obj.next({ b: "foo" }); + obj.next({ a: 1, b: "bar" }); obj.next({ a: 0, b: "bar" }); obj.next({ a: 2, b: "bar" }); obj.next({ a: 2, b: "baz" }); obj.next({ b: "baz" }); assert.deepEqual(acc, { - a: [1, 0, 2, 0], + a: [0, 1, 0, 2, 0], b: ["foo", "bar", "baz"], }); }); From 0babd4d36e36a3337b10492c0b0f76703e6ba12e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 14:25:00 +0100 Subject: [PATCH 12/43] Publish - @thi.ng/rstream-csp@2.0.20 - @thi.ng/rstream-dot@1.1.27 - @thi.ng/rstream-gestures@2.0.19 - @thi.ng/rstream-graph@3.2.20 - @thi.ng/rstream-log-file@0.1.42 - @thi.ng/rstream-log@3.1.27 - @thi.ng/rstream-query@1.1.27 - @thi.ng/rstream@4.3.1 --- packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 4 ++-- packages/rstream-dot/CHANGELOG.md | 8 ++++++++ packages/rstream-dot/package.json | 4 ++-- packages/rstream-gestures/CHANGELOG.md | 8 ++++++++ packages/rstream-gestures/package.json | 4 ++-- packages/rstream-graph/CHANGELOG.md | 8 ++++++++ packages/rstream-graph/package.json | 4 ++-- packages/rstream-log-file/CHANGELOG.md | 8 ++++++++ packages/rstream-log-file/package.json | 4 ++-- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 4 ++-- packages/rstream-query/CHANGELOG.md | 8 ++++++++ packages/rstream-query/package.json | 6 +++--- packages/rstream/CHANGELOG.md | 11 +++++++++++ packages/rstream/package.json | 2 +- 16 files changed, 83 insertions(+), 16 deletions(-) diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 841caa56cd..2357ff7457 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.19...@thi.ng/rstream-csp@2.0.20) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.18...@thi.ng/rstream-csp@2.0.19) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index a9c24b79f8..7d1183f2de 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.19", + "version": "2.0.20", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/csp": "^1.1.23", - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 06868a1f2d..76d3f440dd 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.26...@thi.ng/rstream-dot@1.1.27) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.25...@thi.ng/rstream-dot@1.1.26) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 85b82d1b05..cc39939f9d 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.26", + "version": "1.1.27", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 06c89c36bc..86e24622c6 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.18...@thi.ng/rstream-gestures@2.0.19) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.17...@thi.ng/rstream-gestures@2.0.18) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 2048d5d57e..a9c8c3e1eb 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.18", + "version": "2.0.19", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index a40728d60a..499bfa0d15 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.19...@thi.ng/rstream-graph@3.2.20) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.18...@thi.ng/rstream-graph@3.2.19) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index c43811c0f8..b9278d50bc 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.19", + "version": "3.2.20", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.6", "@thi.ng/resolve-map": "^4.1.23", - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index f6eaf15bd2..d7d86bc8b4 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.41...@thi.ng/rstream-log-file@0.1.42) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.40...@thi.ng/rstream-log-file@0.1.41) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index 3fa5b4ff1e..d61f27d8c6 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.41", + "version": "0.1.42", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 7312e2475e..d322829d96 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.26...@thi.ng/rstream-log@3.1.27) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.25...@thi.ng/rstream-log@3.1.26) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index d5bdaac89a..55a4e6212b 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.26", + "version": "3.1.27", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.3.0", + "@thi.ng/rstream": "^4.3.1", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 360b9f0f08..a31a7b6381 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.26...@thi.ng/rstream-query@1.1.27) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.25...@thi.ng/rstream-query@1.1.26) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 7acffb1be1..e54e190b88 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.26", + "version": "1.1.27", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.0", - "@thi.ng/rstream-dot": "^1.1.26", + "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream-dot": "^1.1.27", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 0e84f5e35b..9f4660ba1f 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.0...@thi.ng/rstream@4.3.1) (2020-05-16) + + +### Bug Fixes + +* **rstream:** initial default val handling in fromObject() ([25117e3](https://github.com/thi-ng/umbrella/commit/25117e3e6fe145c2a1c30fa5a97d997e1929900c)) + + + + + # [4.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.2.0...@thi.ng/rstream@4.3.0) (2020-05-16) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index f9f1a25bec..86e11c245d 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.3.0", + "version": "4.3.1", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", From 56d5cd02213cf43daaedefb723010351c7e535f7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 23:24:25 +0100 Subject: [PATCH 13/43] fix(paths): arg type for 2-arity getIn() --- packages/paths/src/get-in.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/paths/src/get-in.ts b/packages/paths/src/get-in.ts index e0d27cfeb7..c7c3bf922d 100644 --- a/packages/paths/src/get-in.ts +++ b/packages/paths/src/get-in.ts @@ -1,17 +1,18 @@ -import { defGetter } from "./getter"; import type { DeepPath, + OptPathVal, Path, Path0, Path1, + Path2, Path3, Path4, Path5, Path6, Path7, Path8, - OptPathVal, } from "@thi.ng/api"; +import { defGetter } from "./getter"; /** * Unchecked version of {@link getIn}. Returns `undefined` if path is @@ -54,7 +55,7 @@ export function getIn(state: T, path: Path0): T; export function getIn(state: T, path: Path1): OptPathVal; export function getIn( state: T, - path: Path1 + path: Path2 ): OptPathVal; export function getIn( state: T, From f587109ff84408e05e59c0f65f06a2e856dbbe0f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sat, 16 May 2020 23:34:59 +0100 Subject: [PATCH 14/43] Publish - @thi.ng/atom@4.1.8 - @thi.ng/geom@1.9.4 - @thi.ng/hdom-canvas@2.4.23 - @thi.ng/hdom-mock@1.1.26 - @thi.ng/hdom@8.0.26 - @thi.ng/hiccup-carbon-icons@1.0.38 - @thi.ng/hiccup-markdown@1.2.12 - @thi.ng/hiccup-svg@3.4.19 - @thi.ng/hiccup@3.2.23 - @thi.ng/imgui@0.2.17 - @thi.ng/interceptors@2.2.19 - @thi.ng/paths@4.0.7 - @thi.ng/resolve-map@4.1.24 - @thi.ng/rstream-csp@2.0.21 - @thi.ng/rstream-dot@1.1.28 - @thi.ng/rstream-gestures@2.0.20 - @thi.ng/rstream-graph@3.2.21 - @thi.ng/rstream-log-file@0.1.43 - @thi.ng/rstream-log@3.1.28 - @thi.ng/rstream-query@1.1.28 - @thi.ng/rstream@4.3.2 - @thi.ng/transducers-hdom@2.0.52 - @thi.ng/transducers-patch@0.1.14 --- packages/atom/CHANGELOG.md | 8 ++++++++ packages/atom/package.json | 4 ++-- packages/geom/CHANGELOG.md | 8 ++++++++ packages/geom/package.json | 6 +++--- packages/hdom-canvas/CHANGELOG.md | 8 ++++++++ packages/hdom-canvas/package.json | 4 ++-- packages/hdom-mock/CHANGELOG.md | 8 ++++++++ packages/hdom-mock/package.json | 4 ++-- packages/hdom/CHANGELOG.md | 8 ++++++++ packages/hdom/package.json | 6 +++--- packages/hiccup-carbon-icons/CHANGELOG.md | 8 ++++++++ packages/hiccup-carbon-icons/package.json | 4 ++-- packages/hiccup-markdown/CHANGELOG.md | 8 ++++++++ packages/hiccup-markdown/package.json | 4 ++-- packages/hiccup-svg/CHANGELOG.md | 8 ++++++++ packages/hiccup-svg/package.json | 4 ++-- packages/hiccup/CHANGELOG.md | 8 ++++++++ packages/hiccup/package.json | 4 ++-- packages/imgui/CHANGELOG.md | 8 ++++++++ packages/imgui/package.json | 4 ++-- packages/interceptors/CHANGELOG.md | 8 ++++++++ packages/interceptors/package.json | 6 +++--- packages/paths/CHANGELOG.md | 11 +++++++++++ packages/paths/package.json | 2 +- packages/resolve-map/CHANGELOG.md | 8 ++++++++ packages/resolve-map/package.json | 4 ++-- packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 4 ++-- packages/rstream-dot/CHANGELOG.md | 8 ++++++++ packages/rstream-dot/package.json | 4 ++-- packages/rstream-gestures/CHANGELOG.md | 8 ++++++++ packages/rstream-gestures/package.json | 4 ++-- packages/rstream-graph/CHANGELOG.md | 8 ++++++++ packages/rstream-graph/package.json | 8 ++++---- packages/rstream-log-file/CHANGELOG.md | 8 ++++++++ packages/rstream-log-file/package.json | 4 ++-- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 4 ++-- packages/rstream-query/CHANGELOG.md | 8 ++++++++ packages/rstream-query/package.json | 6 +++--- packages/rstream/CHANGELOG.md | 8 ++++++++ packages/rstream/package.json | 6 +++--- packages/transducers-hdom/CHANGELOG.md | 8 ++++++++ packages/transducers-hdom/package.json | 6 +++--- packages/transducers-patch/CHANGELOG.md | 8 ++++++++ packages/transducers-patch/package.json | 4 ++-- 46 files changed, 240 insertions(+), 53 deletions(-) diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index bbdc92ec75..7b3442916c 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.7...@thi.ng/atom@4.1.8) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/atom + + + + + ## [4.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.6...@thi.ng/atom@4.1.7) (2020-05-14) **Note:** Version bump only for package @thi.ng/atom diff --git a/packages/atom/package.json b/packages/atom/package.json index e6f9b84bf8..d93eb81126 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "4.1.7", + "version": "4.1.8", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -47,7 +47,7 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", + "@thi.ng/paths": "^4.0.7", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 0829c4d6e6..9e17559019 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.3...@thi.ng/geom@1.9.4) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/geom + + + + + ## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.2...@thi.ng/geom@1.9.3) (2020-05-14) diff --git a/packages/geom/package.json b/packages/geom/package.json index d1c94b302d..04ed62c5a4 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "1.9.3", + "version": "1.9.4", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -62,8 +62,8 @@ "@thi.ng/geom-splines": "^0.5.15", "@thi.ng/geom-subdiv-curve": "^0.1.45", "@thi.ng/geom-tessellate": "^0.2.28", - "@thi.ng/hiccup": "^3.2.22", - "@thi.ng/hiccup-svg": "^3.4.18", + "@thi.ng/hiccup": "^3.2.23", + "@thi.ng/hiccup-svg": "^3.4.19", "@thi.ng/math": "^1.7.10", "@thi.ng/matrices": "^0.6.15", "@thi.ng/random": "^1.4.9", diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index f4e2be4ee1..1d16b27df5 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.22...@thi.ng/hdom-canvas@2.4.23) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [2.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.21...@thi.ng/hdom-canvas@2.4.22) (2020-05-14) **Note:** Version bump only for package @thi.ng/hdom-canvas diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 73aeb67174..fb17c6a00b 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "2.4.22", + "version": "2.4.23", "description": "Declarative canvas scenegraph & visualization for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -47,7 +47,7 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/color": "^1.1.21", "@thi.ng/diff": "^3.2.21", - "@thi.ng/hdom": "^8.0.25", + "@thi.ng/hdom": "^8.0.26", "@thi.ng/math": "^1.7.10", "@thi.ng/vectors": "^4.4.0", "tslib": "^1.12.0" diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index edb8be74ff..e771f1b8e1 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.25...@thi.ng/hdom-mock@1.1.26) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hdom-mock + + + + + ## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.24...@thi.ng/hdom-mock@1.1.25) (2020-05-14) **Note:** Version bump only for package @thi.ng/hdom-mock diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index a9f7bb0c05..22dd6d0d40 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-mock", - "version": "1.1.25", + "version": "1.1.26", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -45,7 +45,7 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/hdom": "^8.0.25", + "@thi.ng/hdom": "^8.0.26", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 9e03332481..186dff382a 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.25...@thi.ng/hdom@8.0.26) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [8.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.24...@thi.ng/hdom@8.0.25) (2020-05-14) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 9cb675c93a..f5088b597b 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.0.25", + "version": "8.0.26", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/atom": "^4.1.7", + "@thi.ng/atom": "^4.1.8", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", @@ -49,7 +49,7 @@ "@thi.ng/diff": "^3.2.21", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/hiccup": "^3.2.22", + "@thi.ng/hiccup": "^3.2.23", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 5470ed3d4b..acf69f4fbd 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.37...@thi.ng/hiccup-carbon-icons@1.0.38) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons + + + + + ## [1.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.36...@thi.ng/hiccup-carbon-icons@1.0.37) (2020-05-14) **Note:** Version bump only for package @thi.ng/hiccup-carbon-icons diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 5159261db8..565ac6af4c 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-carbon-icons", - "version": "1.0.37", + "version": "1.0.38", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/hiccup": "^3.2.22", + "@thi.ng/hiccup": "^3.2.23", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 4d7040b295..252f38d98a 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.11...@thi.ng/hiccup-markdown@1.2.12) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hiccup-markdown + + + + + ## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.10...@thi.ng/hiccup-markdown@1.2.11) (2020-05-14) **Note:** Version bump only for package @thi.ng/hiccup-markdown diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index d7db8460f3..e41bac0a0c 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.11", + "version": "1.2.12", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/defmulti": "^1.2.15", "@thi.ng/errors": "^1.2.14", "@thi.ng/fsm": "^2.4.9", - "@thi.ng/hiccup": "^3.2.22", + "@thi.ng/hiccup": "^3.2.23", "@thi.ng/strings": "^1.8.8", "@thi.ng/text-canvas": "^0.2.12", "@thi.ng/transducers": "^6.5.0", diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index fe911cfc27..51537b881a 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.18...@thi.ng/hiccup-svg@3.4.19) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + ## [3.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.17...@thi.ng/hiccup-svg@3.4.18) (2020-05-14) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index cb53f501c7..40ce64c1fc 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.4.18", + "version": "3.4.19", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -45,7 +45,7 @@ "dependencies": { "@thi.ng/checks": "^2.7.0", "@thi.ng/color": "^1.1.21", - "@thi.ng/hiccup": "^3.2.22", + "@thi.ng/hiccup": "^3.2.23", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 8b2852c7e1..73e96b2857 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.22...@thi.ng/hiccup@3.2.23) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/hiccup + + + + + ## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.21...@thi.ng/hiccup@3.2.22) (2020-05-14) **Note:** Version bump only for package @thi.ng/hiccup diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 099c3ace1c..44095748e0 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.2.22", + "version": "3.2.23", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/atom": "^4.1.7", + "@thi.ng/atom": "^4.1.8", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 3fa9281083..faeaeb9abb 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.16...@thi.ng/imgui@0.2.17) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + ## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.15...@thi.ng/imgui@0.2.16) (2020-05-14) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 64aa74c513..a3753a1c69 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.16", + "version": "0.2.17", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -45,7 +45,7 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom": "^1.9.3", + "@thi.ng/geom": "^1.9.4", "@thi.ng/geom-api": "^1.0.17", "@thi.ng/geom-isec": "^0.4.17", "@thi.ng/geom-tessellate": "^0.2.28", diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index 8dc48d9e30..08fc6290e1 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.18...@thi.ng/interceptors@2.2.19) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/interceptors + + + + + ## [2.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.17...@thi.ng/interceptors@2.2.18) (2020-05-14) **Note:** Version bump only for package @thi.ng/interceptors diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 9f39de78ac..4b2ec77239 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.18", + "version": "2.2.19", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/atom": "^4.1.7", + "@thi.ng/atom": "^4.1.8", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", + "@thi.ng/paths": "^4.0.7", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index f847b7d15c..a22f2f8cb4 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.6...@thi.ng/paths@4.0.7) (2020-05-16) + + +### Bug Fixes + +* **paths:** arg type for 2-arity getIn() ([56d5cd0](https://github.com/thi-ng/umbrella/commit/56d5cd02213cf43daaedefb723010351c7e535f7)) + + + + + ## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.5...@thi.ng/paths@4.0.6) (2020-05-14) **Note:** Version bump only for package @thi.ng/paths diff --git a/packages/paths/package.json b/packages/paths/package.json index f2659ad95e..d3509f4773 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "4.0.6", + "version": "4.0.7", "description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index fb02360102..5a6664ad0a 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.23...@thi.ng/resolve-map@4.1.24) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/resolve-map + + + + + ## [4.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.22...@thi.ng/resolve-map@4.1.23) (2020-05-14) **Note:** Version bump only for package @thi.ng/resolve-map diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index ab65caedb1..51c1e38e26 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "4.1.23", + "version": "4.1.24", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -45,7 +45,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", + "@thi.ng/paths": "^4.0.7", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 2357ff7457..d0a5290bda 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.20...@thi.ng/rstream-csp@2.0.21) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.19...@thi.ng/rstream-csp@2.0.20) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 7d1183f2de..c1190ec28f 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.20", + "version": "2.0.21", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/csp": "^1.1.23", - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream": "^4.3.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 76d3f440dd..53989ba634 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.27...@thi.ng/rstream-dot@1.1.28) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.26...@thi.ng/rstream-dot@1.1.27) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index cc39939f9d..6baf5b6c36 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.27", + "version": "1.1.28", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream": "^4.3.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 86e24622c6..3c1288e3f5 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.19...@thi.ng/rstream-gestures@2.0.20) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.18...@thi.ng/rstream-gestures@2.0.19) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index a9c8c3e1eb..a127e3acbe 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.19", + "version": "2.0.20", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream": "^4.3.2", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 499bfa0d15..c8b43a056a 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.20...@thi.ng/rstream-graph@3.2.21) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.19...@thi.ng/rstream-graph@3.2.20) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index b9278d50bc..ea87d5dc67 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.20", + "version": "3.2.21", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,9 +46,9 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", - "@thi.ng/resolve-map": "^4.1.23", - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/paths": "^4.0.7", + "@thi.ng/resolve-map": "^4.1.24", + "@thi.ng/rstream": "^4.3.2", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index d7d86bc8b4..5d7a92207c 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.42...@thi.ng/rstream-log-file@0.1.43) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.41...@thi.ng/rstream-log-file@0.1.42) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index d61f27d8c6..b1558b7656 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.42", + "version": "0.1.43", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream": "^4.3.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index d322829d96..a158f33ee3 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.27...@thi.ng/rstream-log@3.1.28) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.26...@thi.ng/rstream-log@3.1.27) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 55a4e6212b..b1c6e41c55 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.27", + "version": "3.1.28", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.3.1", + "@thi.ng/rstream": "^4.3.2", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index a31a7b6381..75d11b8d60 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.27...@thi.ng/rstream-query@1.1.28) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.26...@thi.ng/rstream-query@1.1.27) (2020-05-16) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index e54e190b88..e35d7a4951 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.27", + "version": "1.1.28", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -49,8 +49,8 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.1", - "@thi.ng/rstream-dot": "^1.1.27", + "@thi.ng/rstream": "^4.3.2", + "@thi.ng/rstream-dot": "^1.1.28", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 9f4660ba1f..8a755ade34 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.1...@thi.ng/rstream@4.3.2) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [4.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.0...@thi.ng/rstream@4.3.1) (2020-05-16) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 86e11c245d..555795825e 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.3.1", + "version": "4.3.2", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -45,10 +45,10 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/associative": "^4.0.8", - "@thi.ng/atom": "^4.1.7", + "@thi.ng/atom": "^4.1.8", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", + "@thi.ng/paths": "^4.0.7", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 4b2f212dc6..2eb25d7b11 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.51...@thi.ng/transducers-hdom@2.0.52) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + ## [2.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.50...@thi.ng/transducers-hdom@2.0.51) (2020-05-14) **Note:** Version bump only for package @thi.ng/transducers-hdom diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 9bbed7db75..ddaacd9c27 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.51", + "version": "2.0.52", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/hdom": "^8.0.25", - "@thi.ng/hiccup": "^3.2.22", + "@thi.ng/hdom": "^8.0.26", + "@thi.ng/hiccup": "^3.2.23", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index f16fec757b..74dea15855 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.13...@thi.ng/transducers-patch@0.1.14) (2020-05-16) + +**Note:** Version bump only for package @thi.ng/transducers-patch + + + + + ## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.12...@thi.ng/transducers-patch@0.1.13) (2020-05-14) **Note:** Version bump only for package @thi.ng/transducers-patch diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 323035d2c3..22bffcdf17 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.1.13", + "version": "0.1.14", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/paths": "^4.0.6", + "@thi.ng/paths": "^4.0.7", "@thi.ng/transducers": "^6.5.0", "tslib": "^1.12.0" }, From 7328369a7cacb5227e98ab8923d4f805556aa00b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 17 May 2020 00:37:38 +0100 Subject: [PATCH 15/43] docs: prune all changelogs --- packages/adjacency/CHANGELOG.md | 88 ---------------- packages/api/CHANGELOG.md | 48 --------- packages/arrays/CHANGELOG.md | 56 ---------- packages/associative/CHANGELOG.md | 64 ------------ packages/atom/CHANGELOG.md | 64 ------------ packages/bench/CHANGELOG.md | 56 ---------- packages/bencode/CHANGELOG.md | 72 ------------- packages/binary/CHANGELOG.md | 56 ---------- packages/bitfield/CHANGELOG.md | 72 ------------- packages/bitstream/CHANGELOG.md | 56 ---------- packages/cache/CHANGELOG.md | 72 ------------- packages/checks/CHANGELOG.md | 40 -------- packages/color/CHANGELOG.md | 88 ---------------- packages/compare/CHANGELOG.md | 56 ---------- packages/compose/CHANGELOG.md | 56 ---------- packages/csp/CHANGELOG.md | 72 ------------- packages/dcons/CHANGELOG.md | 72 ------------- packages/defmulti/CHANGELOG.md | 64 ------------ packages/dgraph-dot/CHANGELOG.md | 64 ------------ packages/dgraph/CHANGELOG.md | 72 ------------- packages/diff/CHANGELOG.md | 64 ------------ packages/dl-asset/CHANGELOG.md | 64 ------------ packages/dlogic/CHANGELOG.md | 56 ---------- packages/dot/CHANGELOG.md | 64 ------------ packages/dsp-io-wav/CHANGELOG.md | 72 ------------- packages/dsp/CHANGELOG.md | 72 ------------- packages/dynvar/CHANGELOG.md | 64 ------------ packages/ecs/CHANGELOG.md | 72 ------------- packages/equiv/CHANGELOG.md | 56 ---------- packages/errors/CHANGELOG.md | 56 ---------- packages/fsm/CHANGELOG.md | 72 ------------- packages/geom-accel/CHANGELOG.md | 80 --------------- packages/geom-api/CHANGELOG.md | 88 ---------------- packages/geom-arc/CHANGELOG.md | 88 ---------------- packages/geom-clip-line/CHANGELOG.md | 88 ---------------- packages/geom-clip-poly/CHANGELOG.md | 88 ---------------- packages/geom-closest-point/CHANGELOG.md | 88 ---------------- packages/geom-hull/CHANGELOG.md | 83 --------------- packages/geom-io-obj/CHANGELOG.md | 48 --------- packages/geom-isec/CHANGELOG.md | 88 ---------------- packages/geom-isoline/CHANGELOG.md | 88 ---------------- packages/geom-poly-utils/CHANGELOG.md | 88 ---------------- packages/geom-resample/CHANGELOG.md | 88 ---------------- packages/geom-splines/CHANGELOG.md | 88 ---------------- packages/geom-subdiv-curve/CHANGELOG.md | 88 ---------------- packages/geom-tessellate/CHANGELOG.md | 88 ---------------- packages/geom-voronoi/CHANGELOG.md | 88 ---------------- packages/geom/CHANGELOG.md | 88 ---------------- packages/gp/CHANGELOG.md | 72 ------------- packages/grid-iterators/CHANGELOG.md | 72 ------------- packages/hdom-canvas/CHANGELOG.md | 120 ---------------------- packages/hdom-components/CHANGELOG.md | 72 ------------- packages/hdom-mock/CHANGELOG.md | 96 ----------------- packages/hdom/CHANGELOG.md | 88 ---------------- packages/heaps/CHANGELOG.md | 64 ------------ packages/hiccup-carbon-icons/CHANGELOG.md | 80 --------------- packages/hiccup-css/CHANGELOG.md | 72 ------------- packages/hiccup-markdown/CHANGELOG.md | 96 ----------------- packages/hiccup-svg/CHANGELOG.md | 104 ------------------- packages/hiccup/CHANGELOG.md | 80 --------------- packages/idgen/CHANGELOG.md | 64 ------------ packages/iges/CHANGELOG.md | 88 ---------------- packages/imgui/CHANGELOG.md | 104 ------------------- packages/interceptors/CHANGELOG.md | 80 --------------- packages/intervals/CHANGELOG.md | 64 ------------ packages/iterators/CHANGELOG.md | 72 ------------- packages/layout/CHANGELOG.md | 64 ------------ packages/leb128/CHANGELOG.md | 72 ------------- packages/lsys/CHANGELOG.md | 88 ---------------- packages/malloc/CHANGELOG.md | 64 ------------ packages/math/CHANGELOG.md | 56 ---------- packages/matrices/CHANGELOG.md | 88 ---------------- packages/memoize/CHANGELOG.md | 64 ------------ packages/mime/CHANGELOG.md | 64 ------------ packages/morton/CHANGELOG.md | 56 ---------- packages/parse/CHANGELOG.md | 48 --------- packages/paths/CHANGELOG.md | 48 --------- packages/pixel/CHANGELOG.md | 64 ------------ packages/pointfree-lang/CHANGELOG.md | 56 ---------- packages/pointfree/CHANGELOG.md | 64 ------------ packages/poisson/CHANGELOG.md | 88 ---------------- packages/porter-duff/CHANGELOG.md | 64 ------------ packages/quad-edge/CHANGELOG.md | 56 ---------- packages/ramp/CHANGELOG.md | 88 ---------------- packages/random/CHANGELOG.md | 64 ------------ packages/range-coder/CHANGELOG.md | 72 ------------- packages/resolve-map/CHANGELOG.md | 72 ------------- packages/rle-pack/CHANGELOG.md | 56 ---------- packages/router/CHANGELOG.md | 64 ------------ packages/rstream-csp/CHANGELOG.md | 112 -------------------- packages/rstream-dot/CHANGELOG.md | 112 -------------------- packages/rstream-gestures/CHANGELOG.md | 112 -------------------- packages/rstream-graph/CHANGELOG.md | 112 -------------------- packages/rstream-log-file/CHANGELOG.md | 112 -------------------- packages/rstream-log/CHANGELOG.md | 112 -------------------- packages/rstream-query/CHANGELOG.md | 112 -------------------- packages/rstream/CHANGELOG.md | 48 --------- packages/sax/CHANGELOG.md | 72 ------------- packages/scenegraph/CHANGELOG.md | 88 ---------------- packages/seq/CHANGELOG.md | 64 ------------ packages/sexpr/CHANGELOG.md | 64 ------------ packages/shader-ast-glsl/CHANGELOG.md | 80 --------------- packages/shader-ast-js/CHANGELOG.md | 96 ----------------- packages/shader-ast-stdlib/CHANGELOG.md | 80 --------------- packages/shader-ast/CHANGELOG.md | 80 --------------- packages/simd/CHANGELOG.md | 64 ------------ packages/soa/CHANGELOG.md | 88 ---------------- packages/sparse/CHANGELOG.md | 72 ------------- packages/strings/CHANGELOG.md | 64 ------------ packages/system/CHANGELOG.md | 64 ------------ packages/text-canvas/CHANGELOG.md | 88 ---------------- packages/transducers-binary/CHANGELOG.md | 72 ------------- packages/transducers-fsm/CHANGELOG.md | 72 ------------- packages/transducers-hdom/CHANGELOG.md | 104 ------------------- packages/transducers-patch/CHANGELOG.md | 72 ------------- packages/transducers-stats/CHANGELOG.md | 72 ------------- packages/transducers/CHANGELOG.md | 64 ------------ packages/unionstruct/CHANGELOG.md | 56 ---------- packages/vector-pools/CHANGELOG.md | 88 ---------------- packages/vectors/CHANGELOG.md | 64 ------------ packages/webgl-msdf/CHANGELOG.md | 112 -------------------- packages/webgl-shadertoy/CHANGELOG.md | 112 -------------------- packages/webgl/CHANGELOG.md | 80 --------------- packages/zipper/CHANGELOG.md | 64 ------------ 124 files changed, 9379 deletions(-) diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 194befe6d0..5d75ce1cf3 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.43...@thi.ng/adjacency@0.1.44) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.42...@thi.ng/adjacency@0.1.43) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.41...@thi.ng/adjacency@0.1.42) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.40...@thi.ng/adjacency@0.1.41) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.39...@thi.ng/adjacency@0.1.40) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.38...@thi.ng/adjacency@0.1.39) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.37...@thi.ng/adjacency@0.1.38) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.36...@thi.ng/adjacency@0.1.37) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.35...@thi.ng/adjacency@0.1.36) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.34...@thi.ng/adjacency@0.1.35) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.33...@thi.ng/adjacency@0.1.34) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.6...@thi.ng/adjacency@0.1.7) (2019-03-18) ### Performance Improvements diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 7351b88772..1c53f14627 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.10.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.4...@thi.ng/api@6.10.5) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.10.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.3...@thi.ng/api@6.10.4) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.10.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.2...@thi.ng/api@6.10.3) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.10.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.1...@thi.ng/api@6.10.2) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/api - - - - - -## [6.10.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.0...@thi.ng/api@6.10.1) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/api - - - - - # [6.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.9.1...@thi.ng/api@6.10.0) (2020-04-06) @@ -54,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [6.9.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.9.0...@thi.ng/api@6.9.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/api - - - - - # [6.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.8.3...@thi.ng/api@6.9.0) (2020-03-28) diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 909409ed0d..795868952d 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.6...@thi.ng/arrays@0.6.7) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.5...@thi.ng/arrays@0.6.6) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.4...@thi.ng/arrays@0.6.5) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.3...@thi.ng/arrays@0.6.4) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.2...@thi.ng/arrays@0.6.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.1...@thi.ng/arrays@0.6.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.0...@thi.ng/arrays@0.6.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.6...@thi.ng/arrays@0.6.0) (2020-03-28) diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 4e1a4610d5..079cea2d6b 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.7...@thi.ng/associative@4.0.8) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.6...@thi.ng/associative@4.0.7) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.5...@thi.ng/associative@4.0.6) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.4...@thi.ng/associative@4.0.5) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.3...@thi.ng/associative@4.0.4) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.2...@thi.ng/associative@4.0.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.1...@thi.ng/associative@4.0.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.0...@thi.ng/associative@4.0.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/associative - - - - - # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.8...@thi.ng/associative@4.0.0) (2020-03-28) diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index 7b3442916c..2b2598f6e3 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.7...@thi.ng/atom@4.1.8) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.6...@thi.ng/atom@4.1.7) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.5...@thi.ng/atom@4.1.6) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.4...@thi.ng/atom@4.1.5) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.3...@thi.ng/atom@4.1.4) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.2...@thi.ng/atom@4.1.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.1...@thi.ng/atom@4.1.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.0...@thi.ng/atom@4.1.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/atom - - - - - # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.0.0...@thi.ng/atom@4.1.0) (2020-04-01) diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index 61ec860135..d5b05d5885 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/CHANGELOG.md @@ -3,54 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.11...@thi.ng/bench@2.0.12) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.10...@thi.ng/bench@2.0.11) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.9...@thi.ng/bench@2.0.10) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.8...@thi.ng/bench@2.0.9) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.7...@thi.ng/bench@2.0.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/bench - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.6...@thi.ng/bench@2.0.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/bench - - - - - ## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.5...@thi.ng/bench@2.0.6) (2020-04-03) @@ -63,14 +15,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.4...@thi.ng/bench@2.0.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/bench - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@1.0.11...@thi.ng/bench@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index 85beee9d3b..1c52f9f733 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.22...@thi.ng/bencode@0.3.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.21...@thi.ng/bencode@0.3.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.20...@thi.ng/bencode@0.3.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.19...@thi.ng/bencode@0.3.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.18...@thi.ng/bencode@0.3.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.17...@thi.ng/bencode@0.3.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.16...@thi.ng/bencode@0.3.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.15...@thi.ng/bencode@0.3.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.14...@thi.ng/bencode@0.3.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.2.17...@thi.ng/bencode@0.3.0) (2019-07-07) ### Features diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 87e68eac2e..9dcbec5486 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.6...@thi.ng/binary@2.0.7) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.5...@thi.ng/binary@2.0.6) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.4...@thi.ng/binary@2.0.5) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.3...@thi.ng/binary@2.0.4) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.2...@thi.ng/binary@2.0.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.1...@thi.ng/binary@2.0.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/binary - - - - - -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.0.0...@thi.ng/binary@2.0.1) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/binary - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@1.3.2...@thi.ng/binary@2.0.0) (2020-03-06) diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index 18c18c1f00..95646ea43f 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.8...@thi.ng/bitfield@0.3.9) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.7...@thi.ng/bitfield@0.3.8) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.6...@thi.ng/bitfield@0.3.7) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.5...@thi.ng/bitfield@0.3.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.4...@thi.ng/bitfield@0.3.5) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.3...@thi.ng/bitfield@0.3.4) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.2...@thi.ng/bitfield@0.3.3) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.1...@thi.ng/bitfield@0.3.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.0...@thi.ng/bitfield@0.3.1) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.8...@thi.ng/bitfield@0.3.0) (2020-03-06) diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index a181e2abe6..6e2fb1f545 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.16...@thi.ng/bitstream@1.1.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.15...@thi.ng/bitstream@1.1.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.14...@thi.ng/bitstream@1.1.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.13...@thi.ng/bitstream@1.1.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.12...@thi.ng/bitstream@1.1.13) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.11...@thi.ng/bitstream@1.1.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.10...@thi.ng/bitstream@1.1.11) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.0.6...@thi.ng/bitstream@1.1.0) (2019-07-07) ### Features diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index feccc3ed38..2ae3e93427 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.42...@thi.ng/cache@1.0.43) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.41...@thi.ng/cache@1.0.42) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.40...@thi.ng/cache@1.0.41) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.39...@thi.ng/cache@1.0.40) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.38...@thi.ng/cache@1.0.39) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.37...@thi.ng/cache@1.0.38) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.36...@thi.ng/cache@1.0.37) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.35...@thi.ng/cache@1.0.36) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.34...@thi.ng/cache@1.0.35) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/cache - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.40...@thi.ng/cache@1.0.0) (2019-01-21) ### Bug Fixes diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index 6b76811bbb..af3f99480b 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -14,46 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.4...@thi.ng/checks@2.6.5) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.6.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.3...@thi.ng/checks@2.6.4) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.6.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.2...@thi.ng/checks@2.6.3) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.6.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.1...@thi.ng/checks@2.6.2) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.6.0...@thi.ng/checks@2.6.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/checks - - - - - # [2.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.5.4...@thi.ng/checks@2.6.0) (2020-03-28) diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index e002ff4d54..99c08829d2 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.20...@thi.ng/color@1.1.21) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.19...@thi.ng/color@1.1.20) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.18...@thi.ng/color@1.1.19) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.17...@thi.ng/color@1.1.18) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.16...@thi.ng/color@1.1.17) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.15...@thi.ng/color@1.1.16) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.14...@thi.ng/color@1.1.15) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.13...@thi.ng/color@1.1.14) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.12...@thi.ng/color@1.1.13) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.11...@thi.ng/color@1.1.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.10...@thi.ng/color@1.1.11) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/color - - - - - ## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.1...@thi.ng/color@1.1.2) (2019-11-09) ### Bug Fixes diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index 7c5338944d..8f224b9802 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,54 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.5...@thi.ng/compare@1.3.6) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.4...@thi.ng/compare@1.3.5) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.3...@thi.ng/compare@1.3.4) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.2...@thi.ng/compare@1.3.3) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.1...@thi.ng/compare@1.3.2) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/compare - - - - - -## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.0...@thi.ng/compare@1.3.1) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/compare - - - - - # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.2.2...@thi.ng/compare@1.3.0) (2020-04-05) @@ -62,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.2.1...@thi.ng/compare@1.2.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/compare - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.1.4...@thi.ng/compare@1.2.0) (2020-03-01) diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index e9f027f20f..9d7e5cac39 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.6...@thi.ng/compose@1.4.7) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.5...@thi.ng/compose@1.4.6) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.4...@thi.ng/compose@1.4.5) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.3...@thi.ng/compose@1.4.4) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.2...@thi.ng/compose@1.4.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.1...@thi.ng/compose@1.4.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.0...@thi.ng/compose@1.4.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/compose - - - - - # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.12...@thi.ng/compose@1.4.0) (2020-03-28) diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 9a8feed0b6..eaeaac92e9 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.22...@thi.ng/csp@1.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.21...@thi.ng/csp@1.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.20...@thi.ng/csp@1.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.19...@thi.ng/csp@1.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.18...@thi.ng/csp@1.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.17...@thi.ng/csp@1.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.16...@thi.ng/csp@1.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.15...@thi.ng/csp@1.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.14...@thi.ng/csp@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/csp - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.0.19...@thi.ng/csp@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index 78e43edf39..e0964f4591 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.15...@thi.ng/dcons@2.2.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.14...@thi.ng/dcons@2.2.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.13...@thi.ng/dcons@2.2.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.12...@thi.ng/dcons@2.2.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.11...@thi.ng/dcons@2.2.12) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.10...@thi.ng/dcons@2.2.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.9...@thi.ng/dcons@2.2.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.8...@thi.ng/dcons@2.2.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.7...@thi.ng/dcons@2.2.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.1.6...@thi.ng/dcons@2.2.0) (2019-11-30) ### Features diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index 8e006e633b..65333f3a6a 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.14...@thi.ng/defmulti@1.2.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.13...@thi.ng/defmulti@1.2.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.12...@thi.ng/defmulti@1.2.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.11...@thi.ng/defmulti@1.2.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.10...@thi.ng/defmulti@1.2.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.9...@thi.ng/defmulti@1.2.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.8...@thi.ng/defmulti@1.2.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.7...@thi.ng/defmulti@1.2.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09) ### Features diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index f21fb637cb..9021667565 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.7...@thi.ng/dgraph-dot@0.1.8) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.6...@thi.ng/dgraph-dot@0.1.7) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.5...@thi.ng/dgraph-dot@0.1.6) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.4...@thi.ng/dgraph-dot@0.1.5) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.3...@thi.ng/dgraph-dot@0.1.4) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.2...@thi.ng/dgraph-dot@0.1.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.1...@thi.ng/dgraph-dot@0.1.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.0...@thi.ng/dgraph-dot@0.1.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - # 0.1.0 (2020-04-03) diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 2d6778f1c7..52e325513a 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.7...@thi.ng/dgraph@1.2.8) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.6...@thi.ng/dgraph@1.2.7) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.5...@thi.ng/dgraph@1.2.6) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.4...@thi.ng/dgraph@1.2.5) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.3...@thi.ng/dgraph@1.2.4) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.2...@thi.ng/dgraph@1.2.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.1...@thi.ng/dgraph@1.2.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.0...@thi.ng/dgraph@1.2.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.25...@thi.ng/dgraph@1.2.0) (2020-04-03) @@ -78,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.24...@thi.ng/dgraph@1.1.25) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.0.13...@thi.ng/dgraph@1.1.0) (2019-04-02) ### Features diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index 68e92dfee8..b3ec0c3e0e 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.20...@thi.ng/diff@3.2.21) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/diff - - - - - ## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.19...@thi.ng/diff@3.2.20) (2020-05-05) @@ -22,62 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [3.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.18...@thi.ng/diff@3.2.19) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.17...@thi.ng/diff@3.2.18) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.16...@thi.ng/diff@3.2.17) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.15...@thi.ng/diff@3.2.16) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.14...@thi.ng/diff@3.2.15) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.13...@thi.ng/diff@3.2.14) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/diff - - - - - -## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.12...@thi.ng/diff@3.2.13) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/diff - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.1.3...@thi.ng/diff@3.2.0) (2019-07-07) ### Features diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 3904541c7a..402cc59957 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.8...@thi.ng/dl-asset@0.3.9) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.7...@thi.ng/dl-asset@0.3.8) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.6...@thi.ng/dl-asset@0.3.7) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.5...@thi.ng/dl-asset@0.3.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.4...@thi.ng/dl-asset@0.3.5) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.3...@thi.ng/dl-asset@0.3.4) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.2...@thi.ng/dl-asset@0.3.3) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.1...@thi.ng/dl-asset@0.3.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - # 0.3.0 (2020-02-26) diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index e0a991922a..aab39f5142 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.22...@thi.ng/dlogic@1.0.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.21...@thi.ng/dlogic@1.0.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.20...@thi.ng/dlogic@1.0.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.19...@thi.ng/dlogic@1.0.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.18...@thi.ng/dlogic@1.0.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.17...@thi.ng/dlogic@1.0.18) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.16...@thi.ng/dlogic@1.0.17) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dlogic - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21) ### Build System diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index 1d71e135ba..d1337f491f 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.6...@thi.ng/dot@1.2.7) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.5...@thi.ng/dot@1.2.6) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.4...@thi.ng/dot@1.2.5) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.3...@thi.ng/dot@1.2.4) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.2...@thi.ng/dot@1.2.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.1...@thi.ng/dot@1.2.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.0...@thi.ng/dot@1.2.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dot - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.14...@thi.ng/dot@1.2.0) (2020-04-03) @@ -70,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.13...@thi.ng/dot@1.1.14) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dot - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.0.12...@thi.ng/dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index 3db4e5786e..1158321d1a 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.12...@thi.ng/dsp-io-wav@0.1.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.11...@thi.ng/dsp-io-wav@0.1.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.10...@thi.ng/dsp-io-wav@0.1.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.9...@thi.ng/dsp-io-wav@0.1.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.8...@thi.ng/dsp-io-wav@0.1.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.7...@thi.ng/dsp-io-wav@0.1.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.6...@thi.ng/dsp-io-wav@0.1.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.5...@thi.ng/dsp-io-wav@0.1.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.4...@thi.ng/dsp-io-wav@0.1.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index db55286d4e..8aaa5df03b 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.14...@thi.ng/dsp@2.0.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.13...@thi.ng/dsp@2.0.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.12...@thi.ng/dsp@2.0.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.11...@thi.ng/dsp@2.0.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.10...@thi.ng/dsp@2.0.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.9...@thi.ng/dsp@2.0.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.8...@thi.ng/dsp@2.0.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.7...@thi.ng/dsp@2.0.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.6...@thi.ng/dsp@2.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@1.0.18...@thi.ng/dsp@2.0.0) (2020-01-24) ### Code Refactoring diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 4012e154fa..0849bdf272 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.12...@thi.ng/dynvar@0.1.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.11...@thi.ng/dynvar@0.1.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.10...@thi.ng/dynvar@0.1.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.9...@thi.ng/dynvar@0.1.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.8...@thi.ng/dynvar@0.1.9) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.7...@thi.ng/dynvar@0.1.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.6...@thi.ng/dynvar@0.1.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.5...@thi.ng/dynvar@0.1.6) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/dynvar - - - - - # 0.1.0 (2020-01-24) ### Features diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 90dfad6c9b..990b6ada09 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.14...@thi.ng/ecs@0.3.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.13...@thi.ng/ecs@0.3.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.12...@thi.ng/ecs@0.3.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.11...@thi.ng/ecs@0.3.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.10...@thi.ng/ecs@0.3.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.9...@thi.ng/ecs@0.3.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.8...@thi.ng/ecs@0.3.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.7...@thi.ng/ecs@0.3.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.6...@thi.ng/ecs@0.3.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.2.0...@thi.ng/ecs@0.3.0) (2020-01-24) ### Bug Fixes diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index 5c56901c4b..210a2bb6e4 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.22...@thi.ng/equiv@1.0.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.21...@thi.ng/equiv@1.0.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.20...@thi.ng/equiv@1.0.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.19...@thi.ng/equiv@1.0.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.18...@thi.ng/equiv@1.0.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.17...@thi.ng/equiv@1.0.18) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.16...@thi.ng/equiv@1.0.17) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/equiv - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@0.1.15...@thi.ng/equiv@1.0.0) (2019-01-21) ### Build System diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index c24e36d3d8..25aa7885ed 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.13...@thi.ng/errors@1.2.14) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.12...@thi.ng/errors@1.2.13) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.11...@thi.ng/errors@1.2.12) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.10...@thi.ng/errors@1.2.11) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.9...@thi.ng/errors@1.2.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.8...@thi.ng/errors@1.2.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/errors - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.7...@thi.ng/errors@1.2.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/errors - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.1.2...@thi.ng/errors@1.2.0) (2019-08-21) ### Features diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 7c5f84d416..785ca9176a 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.8...@thi.ng/fsm@2.4.9) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.7...@thi.ng/fsm@2.4.8) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.6...@thi.ng/fsm@2.4.7) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.5...@thi.ng/fsm@2.4.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.4...@thi.ng/fsm@2.4.5) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.3...@thi.ng/fsm@2.4.4) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.2...@thi.ng/fsm@2.4.3) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.1...@thi.ng/fsm@2.4.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.0...@thi.ng/fsm@2.4.1) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - # [2.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.7...@thi.ng/fsm@2.4.0) (2020-03-06) diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index f7e81dbbfc..7404a929a1 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.4...@thi.ng/geom-accel@2.1.5) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.3...@thi.ng/geom-accel@2.1.4) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.2...@thi.ng/geom-accel@2.1.3) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.1...@thi.ng/geom-accel@2.1.2) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.0...@thi.ng/geom-accel@2.1.1) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.11...@thi.ng/geom-accel@2.1.0) (2020-04-23) @@ -54,46 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.10...@thi.ng/geom-accel@2.0.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.9...@thi.ng/geom-accel@2.0.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.8...@thi.ng/geom-accel@2.0.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.7...@thi.ng/geom-accel@2.0.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.6...@thi.ng/geom-accel@2.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@1.2.10...@thi.ng/geom-accel@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index 33dc79fc6c..a7c11d6a02 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.16...@thi.ng/geom-api@1.0.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.15...@thi.ng/geom-api@1.0.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.14...@thi.ng/geom-api@1.0.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.13...@thi.ng/geom-api@1.0.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.12...@thi.ng/geom-api@1.0.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.11...@thi.ng/geom-api@1.0.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.10...@thi.ng/geom-api@1.0.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.9...@thi.ng/geom-api@1.0.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.8...@thi.ng/geom-api@1.0.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.7...@thi.ng/geom-api@1.0.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.6...@thi.ng/geom-api@1.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@0.3.8...@thi.ng/geom-api@1.0.0) (2020-01-24) ### Features diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index c491f22739..9e04e4e9a7 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.27...@thi.ng/geom-arc@0.2.28) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.26...@thi.ng/geom-arc@0.2.27) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.25...@thi.ng/geom-arc@0.2.26) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.24...@thi.ng/geom-arc@0.2.25) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.23...@thi.ng/geom-arc@0.2.24) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.22...@thi.ng/geom-arc@0.2.23) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.21...@thi.ng/geom-arc@0.2.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.20...@thi.ng/geom-arc@0.2.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.19...@thi.ng/geom-arc@0.2.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.18...@thi.ng/geom-arc@0.2.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.17...@thi.ng/geom-arc@0.2.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.1.17...@thi.ng/geom-arc@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index be039456a5..5f1b41ff15 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.14...@thi.ng/geom-clip-line@1.0.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.13...@thi.ng/geom-clip-line@1.0.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.12...@thi.ng/geom-clip-line@1.0.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.11...@thi.ng/geom-clip-line@1.0.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.10...@thi.ng/geom-clip-line@1.0.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.9...@thi.ng/geom-clip-line@1.0.10) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.8...@thi.ng/geom-clip-line@1.0.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.7...@thi.ng/geom-clip-line@1.0.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.6...@thi.ng/geom-clip-line@1.0.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.5...@thi.ng/geom-clip-line@1.0.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.4...@thi.ng/geom-clip-line@1.0.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index c7825e84a5..7776b2fd56 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.14...@thi.ng/geom-clip-poly@1.0.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.13...@thi.ng/geom-clip-poly@1.0.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.12...@thi.ng/geom-clip-poly@1.0.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.11...@thi.ng/geom-clip-poly@1.0.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.10...@thi.ng/geom-clip-poly@1.0.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.9...@thi.ng/geom-clip-poly@1.0.10) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.8...@thi.ng/geom-clip-poly@1.0.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.7...@thi.ng/geom-clip-poly@1.0.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.6...@thi.ng/geom-clip-poly@1.0.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.5...@thi.ng/geom-clip-poly@1.0.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.4...@thi.ng/geom-clip-poly@1.0.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - # 1.0.0 (2020-02-25) diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index 58a4847433..be61165aa5 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.27...@thi.ng/geom-closest-point@0.3.28) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.26...@thi.ng/geom-closest-point@0.3.27) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.25...@thi.ng/geom-closest-point@0.3.26) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.24...@thi.ng/geom-closest-point@0.3.25) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.23...@thi.ng/geom-closest-point@0.3.24) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.22...@thi.ng/geom-closest-point@0.3.23) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.21...@thi.ng/geom-closest-point@0.3.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.20...@thi.ng/geom-closest-point@0.3.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.19...@thi.ng/geom-closest-point@0.3.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.18...@thi.ng/geom-closest-point@0.3.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.17...@thi.ng/geom-closest-point@0.3.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.2.3...@thi.ng/geom-closest-point@0.3.0) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index eec4e5e215..767840ada8 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,86 +3,3 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.47...@thi.ng/geom-hull@0.0.48) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.46...@thi.ng/geom-hull@0.0.47) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.45...@thi.ng/geom-hull@0.0.46) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.44...@thi.ng/geom-hull@0.0.45) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.43...@thi.ng/geom-hull@0.0.44) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.42...@thi.ng/geom-hull@0.0.43) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.41...@thi.ng/geom-hull@0.0.42) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.40...@thi.ng/geom-hull@0.0.41) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.39...@thi.ng/geom-hull@0.0.40) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.38...@thi.ng/geom-hull@0.0.39) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.37...@thi.ng/geom-hull@0.0.38) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index 81fb05bddf..bd1623f335 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,54 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.5...@thi.ng/geom-io-obj@0.1.6) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.4...@thi.ng/geom-io-obj@0.1.5) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.3...@thi.ng/geom-io-obj@0.1.4) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.2...@thi.ng/geom-io-obj@0.1.3) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.1...@thi.ng/geom-io-obj@0.1.2) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.0...@thi.ng/geom-io-obj@0.1.1) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - # 0.1.0 (2020-04-20) diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 358350ee3e..3e1212a027 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.16...@thi.ng/geom-isec@0.4.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.15...@thi.ng/geom-isec@0.4.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.14...@thi.ng/geom-isec@0.4.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.13...@thi.ng/geom-isec@0.4.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.12...@thi.ng/geom-isec@0.4.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.11...@thi.ng/geom-isec@0.4.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.10...@thi.ng/geom-isec@0.4.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.9...@thi.ng/geom-isec@0.4.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.8...@thi.ng/geom-isec@0.4.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.7...@thi.ng/geom-isec@0.4.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.6...@thi.ng/geom-isec@0.4.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.3.10...@thi.ng/geom-isec@0.4.0) (2020-01-24) ### Features diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index 8705fe323d..a8d7c3d870 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.45...@thi.ng/geom-isoline@0.1.46) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.44...@thi.ng/geom-isoline@0.1.45) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.43...@thi.ng/geom-isoline@0.1.44) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.42...@thi.ng/geom-isoline@0.1.43) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.41...@thi.ng/geom-isoline@0.1.42) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.40...@thi.ng/geom-isoline@0.1.41) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.39...@thi.ng/geom-isoline@0.1.40) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.38...@thi.ng/geom-isoline@0.1.39) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.37...@thi.ng/geom-isoline@0.1.38) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.36...@thi.ng/geom-isoline@0.1.37) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.35...@thi.ng/geom-isoline@0.1.36) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.24...@thi.ng/geom-isoline@0.1.25) (2019-08-21) ### Performance Improvements diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index 87046fcf35..f3ae25ae71 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.45...@thi.ng/geom-poly-utils@0.1.46) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.44...@thi.ng/geom-poly-utils@0.1.45) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.43...@thi.ng/geom-poly-utils@0.1.44) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.42...@thi.ng/geom-poly-utils@0.1.43) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.41...@thi.ng/geom-poly-utils@0.1.42) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.40...@thi.ng/geom-poly-utils@0.1.41) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.39...@thi.ng/geom-poly-utils@0.1.40) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.38...@thi.ng/geom-poly-utils@0.1.39) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.37...@thi.ng/geom-poly-utils@0.1.38) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.36...@thi.ng/geom-poly-utils@0.1.37) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.35...@thi.ng/geom-poly-utils@0.1.36) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.17...@thi.ng/geom-poly-utils@0.1.18) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 8ed5a75c90..57290c39f8 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.27...@thi.ng/geom-resample@0.2.28) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.26...@thi.ng/geom-resample@0.2.27) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.25...@thi.ng/geom-resample@0.2.26) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.24...@thi.ng/geom-resample@0.2.25) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.23...@thi.ng/geom-resample@0.2.24) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.22...@thi.ng/geom-resample@0.2.23) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.21...@thi.ng/geom-resample@0.2.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.20...@thi.ng/geom-resample@0.2.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.19...@thi.ng/geom-resample@0.2.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.18...@thi.ng/geom-resample@0.2.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.17...@thi.ng/geom-resample@0.2.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.1.17...@thi.ng/geom-resample@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 23c0c505b7..e85463a01f 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.14...@thi.ng/geom-splines@0.5.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.13...@thi.ng/geom-splines@0.5.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.12...@thi.ng/geom-splines@0.5.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.11...@thi.ng/geom-splines@0.5.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.10...@thi.ng/geom-splines@0.5.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.9...@thi.ng/geom-splines@0.5.10) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.8...@thi.ng/geom-splines@0.5.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.7...@thi.ng/geom-splines@0.5.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.6...@thi.ng/geom-splines@0.5.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.5...@thi.ng/geom-splines@0.5.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.4...@thi.ng/geom-splines@0.5.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.4.5...@thi.ng/geom-splines@0.5.0) (2020-02-25) diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index 70f568db34..d776894b65 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.44...@thi.ng/geom-subdiv-curve@0.1.45) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.43...@thi.ng/geom-subdiv-curve@0.1.44) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.42...@thi.ng/geom-subdiv-curve@0.1.43) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.41...@thi.ng/geom-subdiv-curve@0.1.42) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.40...@thi.ng/geom-subdiv-curve@0.1.41) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.39...@thi.ng/geom-subdiv-curve@0.1.40) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.38...@thi.ng/geom-subdiv-curve@0.1.39) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.37...@thi.ng/geom-subdiv-curve@0.1.38) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.36...@thi.ng/geom-subdiv-curve@0.1.37) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.35...@thi.ng/geom-subdiv-curve@0.1.36) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.34...@thi.ng/geom-subdiv-curve@0.1.35) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index 5d4ecfe068..fbd9865da0 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.27...@thi.ng/geom-tessellate@0.2.28) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.26...@thi.ng/geom-tessellate@0.2.27) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.25...@thi.ng/geom-tessellate@0.2.26) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.24...@thi.ng/geom-tessellate@0.2.25) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.23...@thi.ng/geom-tessellate@0.2.24) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.22...@thi.ng/geom-tessellate@0.2.23) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.21...@thi.ng/geom-tessellate@0.2.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.20...@thi.ng/geom-tessellate@0.2.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.19...@thi.ng/geom-tessellate@0.2.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.18...@thi.ng/geom-tessellate@0.2.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.17...@thi.ng/geom-tessellate@0.2.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.1.17...@thi.ng/geom-tessellate@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index a6ff685f70..9ead259193 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.45...@thi.ng/geom-voronoi@0.1.46) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.44...@thi.ng/geom-voronoi@0.1.45) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.43...@thi.ng/geom-voronoi@0.1.44) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.42...@thi.ng/geom-voronoi@0.1.43) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.41...@thi.ng/geom-voronoi@0.1.42) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.40...@thi.ng/geom-voronoi@0.1.41) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.39...@thi.ng/geom-voronoi@0.1.40) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.38...@thi.ng/geom-voronoi@0.1.39) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.37...@thi.ng/geom-voronoi@0.1.38) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.36...@thi.ng/geom-voronoi@0.1.37) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.35...@thi.ng/geom-voronoi@0.1.36) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 9e17559019..6fbe8b555e 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.9.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.3...@thi.ng/geom@1.9.4) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/geom - - - - - ## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.2...@thi.ng/geom@1.9.3) (2020-05-14) @@ -22,22 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.9.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.1...@thi.ng/geom@1.9.2) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.9.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.0...@thi.ng/geom@1.9.1) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/geom - - - - - # [1.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.12...@thi.ng/geom@1.9.0) (2020-04-27) @@ -50,70 +26,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.8.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.11...@thi.ng/geom@1.8.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.10...@thi.ng/geom@1.8.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.9...@thi.ng/geom@1.8.10) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.8...@thi.ng/geom@1.8.9) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.7...@thi.ng/geom@1.8.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.6...@thi.ng/geom@1.8.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.5...@thi.ng/geom@1.8.6) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [1.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.8.4...@thi.ng/geom@1.8.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/geom - - - - - # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.7.10...@thi.ng/geom@1.8.0) (2020-02-25) diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index f88c45820e..d3c7964d87 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.15...@thi.ng/gp@0.1.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.14...@thi.ng/gp@0.1.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.13...@thi.ng/gp@0.1.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.12...@thi.ng/gp@0.1.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.11...@thi.ng/gp@0.1.12) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.10...@thi.ng/gp@0.1.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.9...@thi.ng/gp@0.1.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.8...@thi.ng/gp@0.1.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.7...@thi.ng/gp@0.1.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/gp - - - - - # 0.1.0 (2019-11-30) ### Bug Fixes diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index 825c6d320f..e3f4cf11a4 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.12...@thi.ng/grid-iterators@0.3.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.11...@thi.ng/grid-iterators@0.3.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.10...@thi.ng/grid-iterators@0.3.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.9...@thi.ng/grid-iterators@0.3.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.8...@thi.ng/grid-iterators@0.3.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.7...@thi.ng/grid-iterators@0.3.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.6...@thi.ng/grid-iterators@0.3.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.5...@thi.ng/grid-iterators@0.3.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.4...@thi.ng/grid-iterators@0.3.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.2.3...@thi.ng/grid-iterators@0.3.0) (2020-02-25) diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index 1d16b27df5..ac7777a93b 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,126 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.22...@thi.ng/hdom-canvas@2.4.23) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.21...@thi.ng/hdom-canvas@2.4.22) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.20...@thi.ng/hdom-canvas@2.4.21) (2020-05-05) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.19...@thi.ng/hdom-canvas@2.4.20) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.18...@thi.ng/hdom-canvas@2.4.19) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.17...@thi.ng/hdom-canvas@2.4.18) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.16...@thi.ng/hdom-canvas@2.4.17) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.15...@thi.ng/hdom-canvas@2.4.16) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.14...@thi.ng/hdom-canvas@2.4.15) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.13...@thi.ng/hdom-canvas@2.4.14) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.12...@thi.ng/hdom-canvas@2.4.13) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.11...@thi.ng/hdom-canvas@2.4.12) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.10...@thi.ng/hdom-canvas@2.4.11) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.9...@thi.ng/hdom-canvas@2.4.10) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [2.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.8...@thi.ng/hdom-canvas@2.4.9) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - ## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.1...@thi.ng/hdom-canvas@2.4.2) (2020-01-24) ### Bug Fixes diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index a4da596c3e..4aa4e00f70 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.8...@thi.ng/hdom-components@3.2.9) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.7...@thi.ng/hdom-components@3.2.8) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.6...@thi.ng/hdom-components@3.2.7) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.5...@thi.ng/hdom-components@3.2.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.4...@thi.ng/hdom-components@3.2.5) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.3...@thi.ng/hdom-components@3.2.4) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.2...@thi.ng/hdom-components@3.2.3) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.1...@thi.ng/hdom-components@3.2.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [3.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.0...@thi.ng/hdom-components@3.2.1) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.13...@thi.ng/hdom-components@3.2.0) (2020-03-06) diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index e771f1b8e1..1960053efb 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,102 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.25...@thi.ng/hdom-mock@1.1.26) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.24...@thi.ng/hdom-mock@1.1.25) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.23...@thi.ng/hdom-mock@1.1.24) (2020-05-05) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.22...@thi.ng/hdom-mock@1.1.23) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.21...@thi.ng/hdom-mock@1.1.22) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.20...@thi.ng/hdom-mock@1.1.21) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.19...@thi.ng/hdom-mock@1.1.20) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.18...@thi.ng/hdom-mock@1.1.19) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.17...@thi.ng/hdom-mock@1.1.18) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.16...@thi.ng/hdom-mock@1.1.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.15...@thi.ng/hdom-mock@1.1.16) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.14...@thi.ng/hdom-mock@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.0.16...@thi.ng/hdom-mock@1.1.0) (2019-07-07) ### Features diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 186dff382a..bfd08b12dd 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [8.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.25...@thi.ng/hdom@8.0.26) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.24...@thi.ng/hdom@8.0.25) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.23...@thi.ng/hdom@8.0.24) (2020-05-05) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.22...@thi.ng/hdom@8.0.23) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.21...@thi.ng/hdom@8.0.22) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.20...@thi.ng/hdom@8.0.21) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.19...@thi.ng/hdom@8.0.20) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.18...@thi.ng/hdom@8.0.19) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - ## [8.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.17...@thi.ng/hdom@8.0.18) (2020-04-06) @@ -78,30 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [8.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.16...@thi.ng/hdom@8.0.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.15...@thi.ng/hdom@8.0.16) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.14...@thi.ng/hdom@8.0.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - ## [8.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.6...@thi.ng/hdom@8.0.7) (2019-11-09) ### Bug Fixes diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index 7af3e28ef0..ce0271e729 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.13...@thi.ng/heaps@1.2.14) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.12...@thi.ng/heaps@1.2.13) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.11...@thi.ng/heaps@1.2.12) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.10...@thi.ng/heaps@1.2.11) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.9...@thi.ng/heaps@1.2.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.8...@thi.ng/heaps@1.2.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.7...@thi.ng/heaps@1.2.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.6...@thi.ng/heaps@1.2.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/heaps - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.1.6...@thi.ng/heaps@1.2.0) (2020-01-24) ### Features diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index acf69f4fbd..02598f306e 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.37...@thi.ng/hiccup-carbon-icons@1.0.38) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.36...@thi.ng/hiccup-carbon-icons@1.0.37) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.35...@thi.ng/hiccup-carbon-icons@1.0.36) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.34...@thi.ng/hiccup-carbon-icons@1.0.35) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.33...@thi.ng/hiccup-carbon-icons@1.0.34) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.32...@thi.ng/hiccup-carbon-icons@1.0.33) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.31...@thi.ng/hiccup-carbon-icons@1.0.32) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.30...@thi.ng/hiccup-carbon-icons@1.0.31) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.29...@thi.ng/hiccup-carbon-icons@1.0.30) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.28...@thi.ng/hiccup-carbon-icons@1.0.29) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@0.1.2...@thi.ng/hiccup-carbon-icons@1.0.0) (2019-01-21) ### Build System diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index ba54928837..da135b5162 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.22...@thi.ng/hiccup-css@1.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.21...@thi.ng/hiccup-css@1.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.20...@thi.ng/hiccup-css@1.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.19...@thi.ng/hiccup-css@1.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.18...@thi.ng/hiccup-css@1.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.17...@thi.ng/hiccup-css@1.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.16...@thi.ng/hiccup-css@1.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.15...@thi.ng/hiccup-css@1.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.14...@thi.ng/hiccup-css@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.0.19...@thi.ng/hiccup-css@1.1.0) (2019-07-07) ### Features diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 252f38d98a..03e7165551 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,102 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.11...@thi.ng/hiccup-markdown@1.2.12) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.10...@thi.ng/hiccup-markdown@1.2.11) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.9...@thi.ng/hiccup-markdown@1.2.10) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.8...@thi.ng/hiccup-markdown@1.2.9) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.7...@thi.ng/hiccup-markdown@1.2.8) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.6...@thi.ng/hiccup-markdown@1.2.7) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.5...@thi.ng/hiccup-markdown@1.2.6) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.4...@thi.ng/hiccup-markdown@1.2.5) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.3...@thi.ng/hiccup-markdown@1.2.4) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.2...@thi.ng/hiccup-markdown@1.2.3) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.1...@thi.ng/hiccup-markdown@1.2.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.0...@thi.ng/hiccup-markdown@1.2.1) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.14...@thi.ng/hiccup-markdown@1.2.0) (2020-03-28) diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 51537b881a..c86c4fe6c1 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,110 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.18...@thi.ng/hiccup-svg@3.4.19) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.17...@thi.ng/hiccup-svg@3.4.18) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.16...@thi.ng/hiccup-svg@3.4.17) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.15...@thi.ng/hiccup-svg@3.4.16) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.14...@thi.ng/hiccup-svg@3.4.15) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.13...@thi.ng/hiccup-svg@3.4.14) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.12...@thi.ng/hiccup-svg@3.4.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.11...@thi.ng/hiccup-svg@3.4.12) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.10...@thi.ng/hiccup-svg@3.4.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.9...@thi.ng/hiccup-svg@3.4.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.8...@thi.ng/hiccup-svg@3.4.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.7...@thi.ng/hiccup-svg@3.4.8) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.6...@thi.ng/hiccup-svg@3.4.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - # [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.3.3...@thi.ng/hiccup-svg@3.4.0) (2020-01-24) ### Features diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 73e96b2857..5d76bc3876 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.22...@thi.ng/hiccup@3.2.23) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.21...@thi.ng/hiccup@3.2.22) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.20...@thi.ng/hiccup@3.2.21) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.19...@thi.ng/hiccup@3.2.20) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.18...@thi.ng/hiccup@3.2.19) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.17...@thi.ng/hiccup@3.2.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.16...@thi.ng/hiccup@3.2.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.15...@thi.ng/hiccup@3.2.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.14...@thi.ng/hiccup@3.2.15) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.13...@thi.ng/hiccup@3.2.14) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - ## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.3...@thi.ng/hiccup@3.2.4) (2019-08-21) ### Bug Fixes diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index 3f32fecab3..cc10273c49 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.12...@thi.ng/idgen@0.2.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.11...@thi.ng/idgen@0.2.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.10...@thi.ng/idgen@0.2.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.9...@thi.ng/idgen@0.2.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.8...@thi.ng/idgen@0.2.9) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.7...@thi.ng/idgen@0.2.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.6...@thi.ng/idgen@0.2.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.5...@thi.ng/idgen@0.2.6) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/idgen - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.1.0...@thi.ng/idgen@0.2.0) (2020-01-24) ### Features diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 773fd541b6..e8c3a801bb 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.29...@thi.ng/iges@1.1.30) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.28...@thi.ng/iges@1.1.29) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.27...@thi.ng/iges@1.1.28) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.26...@thi.ng/iges@1.1.27) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.25...@thi.ng/iges@1.1.26) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.24...@thi.ng/iges@1.1.25) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.23...@thi.ng/iges@1.1.24) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.22...@thi.ng/iges@1.1.23) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.21...@thi.ng/iges@1.1.22) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.20...@thi.ng/iges@1.1.21) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.19...@thi.ng/iges@1.1.20) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/iges - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.0.15...@thi.ng/iges@1.1.0) (2019-04-15) ### Features diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index faeaeb9abb..38a6e00560 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,110 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.16...@thi.ng/imgui@0.2.17) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.15...@thi.ng/imgui@0.2.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.14...@thi.ng/imgui@0.2.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.13...@thi.ng/imgui@0.2.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.12...@thi.ng/imgui@0.2.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.11...@thi.ng/imgui@0.2.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.10...@thi.ng/imgui@0.2.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.9...@thi.ng/imgui@0.2.10) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.8...@thi.ng/imgui@0.2.9) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.7...@thi.ng/imgui@0.2.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.6...@thi.ng/imgui@0.2.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.5...@thi.ng/imgui@0.2.6) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.4...@thi.ng/imgui@0.2.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.1.7...@thi.ng/imgui@0.2.0) (2020-02-25) diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index 08fc6290e1..f127eeef0f 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.18...@thi.ng/interceptors@2.2.19) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.17...@thi.ng/interceptors@2.2.18) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.16...@thi.ng/interceptors@2.2.17) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.15...@thi.ng/interceptors@2.2.16) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.14...@thi.ng/interceptors@2.2.15) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.13...@thi.ng/interceptors@2.2.14) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.12...@thi.ng/interceptors@2.2.13) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.11...@thi.ng/interceptors@2.2.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.10...@thi.ng/interceptors@2.2.11) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.9...@thi.ng/interceptors@2.2.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.1.3...@thi.ng/interceptors@2.2.0) (2019-08-21) ### Features diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 8deb113e05..75d31f3d87 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.13...@thi.ng/intervals@2.0.14) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.12...@thi.ng/intervals@2.0.13) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.11...@thi.ng/intervals@2.0.12) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.10...@thi.ng/intervals@2.0.11) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.9...@thi.ng/intervals@2.0.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.8...@thi.ng/intervals@2.0.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.7...@thi.ng/intervals@2.0.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.6...@thi.ng/intervals@2.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@1.0.15...@thi.ng/intervals@2.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index c92a8b1b2e..5f13fc94f7 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.22...@thi.ng/iterators@5.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.21...@thi.ng/iterators@5.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.20...@thi.ng/iterators@5.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.19...@thi.ng/iterators@5.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.18...@thi.ng/iterators@5.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.17...@thi.ng/iterators@5.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.16...@thi.ng/iterators@5.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.15...@thi.ng/iterators@5.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.14...@thi.ng/iterators@5.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.0.19...@thi.ng/iterators@5.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 3b27ff34e6..2f4f24c514 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.10...@thi.ng/layout@0.1.11) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.9...@thi.ng/layout@0.1.10) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.8...@thi.ng/layout@0.1.9) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.7...@thi.ng/layout@0.1.8) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.6...@thi.ng/layout@0.1.7) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.5...@thi.ng/layout@0.1.6) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.4...@thi.ng/layout@0.1.5) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.3...@thi.ng/layout@0.1.4) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/layout - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 3a99a435cf..d45d5109d1 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.16...@thi.ng/leb128@1.0.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.15...@thi.ng/leb128@1.0.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.14...@thi.ng/leb128@1.0.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.13...@thi.ng/leb128@1.0.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.12...@thi.ng/leb128@1.0.13) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.11...@thi.ng/leb128@1.0.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.10...@thi.ng/leb128@1.0.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.9...@thi.ng/leb128@1.0.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.8...@thi.ng/leb128@1.0.9) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - ## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.0...@thi.ng/leb128@1.0.1) (2019-11-30) ### Bug Fixes diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index ae6746ed4d..24fc99ee9b 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.42...@thi.ng/lsys@0.2.43) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.41...@thi.ng/lsys@0.2.42) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.40...@thi.ng/lsys@0.2.41) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.39...@thi.ng/lsys@0.2.40) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.38...@thi.ng/lsys@0.2.39) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.37...@thi.ng/lsys@0.2.38) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.36...@thi.ng/lsys@0.2.37) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.35...@thi.ng/lsys@0.2.36) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.34...@thi.ng/lsys@0.2.35) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.33...@thi.ng/lsys@0.2.34) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.32...@thi.ng/lsys@0.2.33) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.1.0...@thi.ng/lsys@0.2.0) (2019-02-26) ### Features diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index 2786c6507a..e58aae34c2 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.14...@thi.ng/malloc@4.1.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.13...@thi.ng/malloc@4.1.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.12...@thi.ng/malloc@4.1.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.11...@thi.ng/malloc@4.1.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.10...@thi.ng/malloc@4.1.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.9...@thi.ng/malloc@4.1.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.8...@thi.ng/malloc@4.1.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [4.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.7...@thi.ng/malloc@4.1.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.0.5...@thi.ng/malloc@4.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index d4a179fcfc..116b2876f8 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.7.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.9...@thi.ng/math@1.7.10) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.8...@thi.ng/math@1.7.9) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.7...@thi.ng/math@1.7.8) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.6...@thi.ng/math@1.7.7) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.5...@thi.ng/math@1.7.6) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.4...@thi.ng/math@1.7.5) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/math - - - - - -## [1.7.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.7.3...@thi.ng/math@1.7.4) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/math - - - - - # [1.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.6.0...@thi.ng/math@1.7.0) (2020-02-25) diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index af290928f5..baaa3f2b6d 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.14...@thi.ng/matrices@0.6.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.13...@thi.ng/matrices@0.6.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.12...@thi.ng/matrices@0.6.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.11...@thi.ng/matrices@0.6.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.10...@thi.ng/matrices@0.6.11) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.9...@thi.ng/matrices@0.6.10) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.8...@thi.ng/matrices@0.6.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.7...@thi.ng/matrices@0.6.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.6...@thi.ng/matrices@0.6.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.5...@thi.ng/matrices@0.6.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.4...@thi.ng/matrices@0.6.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.5.12...@thi.ng/matrices@0.6.0) (2020-02-25) diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index 926c0917da..7617c06e90 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.10...@thi.ng/memoize@2.0.11) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.9...@thi.ng/memoize@2.0.10) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.8...@thi.ng/memoize@2.0.9) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.7...@thi.ng/memoize@2.0.8) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.6...@thi.ng/memoize@2.0.7) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.5...@thi.ng/memoize@2.0.6) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.4...@thi.ng/memoize@2.0.5) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.3...@thi.ng/memoize@2.0.4) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/memoize - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@1.1.8...@thi.ng/memoize@2.0.0) (2020-02-25) diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index f606354a32..23c8f98536 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.10...@thi.ng/mime@0.1.11) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.9...@thi.ng/mime@0.1.10) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.8...@thi.ng/mime@0.1.9) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.7...@thi.ng/mime@0.1.8) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.6...@thi.ng/mime@0.1.7) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.5...@thi.ng/mime@0.1.6) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.4...@thi.ng/mime@0.1.5) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/mime - - - - - -## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.3...@thi.ng/mime@0.1.4) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/mime - - - - - # 0.1.0 (2020-02-25) diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 8795767528..55b8b27857 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.12...@thi.ng/morton@2.0.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.11...@thi.ng/morton@2.0.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.10...@thi.ng/morton@2.0.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.9...@thi.ng/morton@2.0.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/morton - - - - - ## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.8...@thi.ng/morton@2.0.9) (2020-04-11) @@ -46,30 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.7...@thi.ng/morton@2.0.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.6...@thi.ng/morton@2.0.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.5...@thi.ng/morton@2.0.6) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/morton - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@1.1.5...@thi.ng/morton@2.0.0) (2020-01-24) ### Features diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index bfe063c5b8..dd212a5b58 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,46 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.4...@thi.ng/parse@0.5.5) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.5.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.3...@thi.ng/parse@0.5.4) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.2...@thi.ng/parse@0.5.3) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.1...@thi.ng/parse@0.5.2) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.0...@thi.ng/parse@0.5.1) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/parse - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.4.1...@thi.ng/parse@0.5.0) (2020-04-23) @@ -54,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.4.0...@thi.ng/parse@0.4.1) (2020-04-21) - -**Note:** Version bump only for package @thi.ng/parse - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.3.0...@thi.ng/parse@0.4.0) (2020-04-21) diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index a22f2f8cb4..0155f15aaa 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -14,54 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.5...@thi.ng/paths@4.0.6) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.4...@thi.ng/paths@4.0.5) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.3...@thi.ng/paths@4.0.4) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.2...@thi.ng/paths@4.0.3) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.1...@thi.ng/paths@4.0.2) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.0.0...@thi.ng/paths@4.0.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/paths - - - - - # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@3.0.5...@thi.ng/paths@4.0.0) (2020-03-28) diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 0ac544236b..503c6a77e4 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.19...@thi.ng/pixel@0.1.20) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.18...@thi.ng/pixel@0.1.19) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.17...@thi.ng/pixel@0.1.18) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.16...@thi.ng/pixel@0.1.17) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.15...@thi.ng/pixel@0.1.16) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.14...@thi.ng/pixel@0.1.15) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.13...@thi.ng/pixel@0.1.14) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.12...@thi.ng/pixel@0.1.13) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - ## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.3...@thi.ng/pixel@0.1.4) (2019-09-21) ### Bug Fixes diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 1c76eba644..cb63b54da2 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,30 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.2...@thi.ng/pointfree-lang@1.4.3) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.1...@thi.ng/pointfree-lang@1.4.2) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.0...@thi.ng/pointfree-lang@1.4.1) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.3.0...@thi.ng/pointfree-lang@1.4.0) (2020-04-27) @@ -50,30 +26,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.2.2...@thi.ng/pointfree-lang@1.2.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.2.1...@thi.ng/pointfree-lang@1.2.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.2.0...@thi.ng/pointfree-lang@1.2.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.14...@thi.ng/pointfree-lang@1.2.0) (2020-03-29) @@ -86,14 +38,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.13...@thi.ng/pointfree-lang@1.1.14) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - ## [1.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.1.4...@thi.ng/pointfree-lang@1.1.5) (2019-09-21) ### Bug Fixes diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index 58b6bb16ea..fd1c800859 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,38 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.3...@thi.ng/pointfree@2.0.4) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.2...@thi.ng/pointfree@2.0.3) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.1...@thi.ng/pointfree@2.0.2) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.0...@thi.ng/pointfree@2.0.1) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.3.3...@thi.ng/pointfree@2.0.0) (2020-04-16) @@ -51,30 +19,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.3.2...@thi.ng/pointfree@1.3.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [1.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.3.1...@thi.ng/pointfree@1.3.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.3.0...@thi.ng/pointfree@1.3.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.10...@thi.ng/pointfree@1.3.0) (2020-03-29) @@ -88,14 +32,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.2.9...@thi.ng/pointfree@1.2.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.1.3...@thi.ng/pointfree@1.2.0) (2019-08-21) ### Features diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index a075a15bfd..53f520a28d 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.16...@thi.ng/poisson@1.0.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.15...@thi.ng/poisson@1.0.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.14...@thi.ng/poisson@1.0.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.13...@thi.ng/poisson@1.0.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.12...@thi.ng/poisson@1.0.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.11...@thi.ng/poisson@1.0.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.10...@thi.ng/poisson@1.0.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.9...@thi.ng/poisson@1.0.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.8...@thi.ng/poisson@1.0.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.7...@thi.ng/poisson@1.0.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.6...@thi.ng/poisson@1.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@0.2.27...@thi.ng/poisson@1.0.0) (2020-01-24) ### Features diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index 24d8cf6f63..c81030290e 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.18...@thi.ng/porter-duff@0.1.19) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.17...@thi.ng/porter-duff@0.1.18) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.16...@thi.ng/porter-duff@0.1.17) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.15...@thi.ng/porter-duff@0.1.16) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.14...@thi.ng/porter-duff@0.1.15) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.13...@thi.ng/porter-duff@0.1.14) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.12...@thi.ng/porter-duff@0.1.13) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.11...@thi.ng/porter-duff@0.1.12) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - # 0.1.0 (2019-07-31) ### Bug Fixes diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index d88d1cd850..86b193a40a 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.15...@thi.ng/quad-edge@0.2.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.14...@thi.ng/quad-edge@0.2.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.13...@thi.ng/quad-edge@0.2.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.12...@thi.ng/quad-edge@0.2.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.11...@thi.ng/quad-edge@0.2.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.10...@thi.ng/quad-edge@0.2.11) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.9...@thi.ng/quad-edge@0.2.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/quad-edge - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.1.4...@thi.ng/quad-edge@0.2.0) (2019-07-07) ### Features diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 00bb446ff5..20c329a0af 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.16...@thi.ng/ramp@0.1.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.15...@thi.ng/ramp@0.1.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.14...@thi.ng/ramp@0.1.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.13...@thi.ng/ramp@0.1.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.12...@thi.ng/ramp@0.1.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.11...@thi.ng/ramp@0.1.12) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.10...@thi.ng/ramp@0.1.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.9...@thi.ng/ramp@0.1.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.8...@thi.ng/ramp@0.1.9) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.7...@thi.ng/ramp@0.1.8) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.6...@thi.ng/ramp@0.1.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - # 0.1.0 (2020-01-24) ### Features diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 38c775828e..dbd13f0658 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.8...@thi.ng/random@1.4.9) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.7...@thi.ng/random@1.4.8) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.6...@thi.ng/random@1.4.7) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.5...@thi.ng/random@1.4.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.4...@thi.ng/random@1.4.5) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.3...@thi.ng/random@1.4.4) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.2...@thi.ng/random@1.4.3) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/random - - - - - -## [1.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.1...@thi.ng/random@1.4.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/random - - - - - # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.2...@thi.ng/random@1.4.0) (2020-03-01) diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index 434cfe0790..ee07517104 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.42...@thi.ng/range-coder@1.0.43) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.41...@thi.ng/range-coder@1.0.42) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.40...@thi.ng/range-coder@1.0.41) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.39...@thi.ng/range-coder@1.0.40) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.38...@thi.ng/range-coder@1.0.39) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.37...@thi.ng/range-coder@1.0.38) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.36...@thi.ng/range-coder@1.0.37) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.35...@thi.ng/range-coder@1.0.36) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.34...@thi.ng/range-coder@1.0.35) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.28...@thi.ng/range-coder@1.0.0) (2019-01-21) ### Build System diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 5a6664ad0a..2dd60baf2b 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.23...@thi.ng/resolve-map@4.1.24) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.22...@thi.ng/resolve-map@4.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.21...@thi.ng/resolve-map@4.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.20...@thi.ng/resolve-map@4.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.19...@thi.ng/resolve-map@4.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.18...@thi.ng/resolve-map@4.1.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.17...@thi.ng/resolve-map@4.1.18) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.16...@thi.ng/resolve-map@4.1.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.15...@thi.ng/resolve-map@4.1.16) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - ## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.1...@thi.ng/resolve-map@4.1.2) (2019-07-08) ### Bug Fixes diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index 7107000a6c..a677ac684e 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.16...@thi.ng/rle-pack@2.1.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.15...@thi.ng/rle-pack@2.1.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.14...@thi.ng/rle-pack@2.1.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.13...@thi.ng/rle-pack@2.1.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.12...@thi.ng/rle-pack@2.1.13) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.11...@thi.ng/rle-pack@2.1.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.10...@thi.ng/rle-pack@2.1.11) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.0.6...@thi.ng/rle-pack@2.1.0) (2019-07-07) ### Features diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index dcae2895f4..8340d07a82 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.20...@thi.ng/router@2.0.21) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.19...@thi.ng/router@2.0.20) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.18...@thi.ng/router@2.0.19) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.17...@thi.ng/router@2.0.18) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.16...@thi.ng/router@2.0.17) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.15...@thi.ng/router@2.0.16) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.14...@thi.ng/router@2.0.15) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.13...@thi.ng/router@2.0.14) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/router - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@1.0.12...@thi.ng/router@2.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index d0a5290bda..1d09004480 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.20...@thi.ng/rstream-csp@2.0.21) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.19...@thi.ng/rstream-csp@2.0.20) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.18...@thi.ng/rstream-csp@2.0.19) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.17...@thi.ng/rstream-csp@2.0.18) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.16...@thi.ng/rstream-csp@2.0.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.15...@thi.ng/rstream-csp@2.0.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.14...@thi.ng/rstream-csp@2.0.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.13...@thi.ng/rstream-csp@2.0.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.12...@thi.ng/rstream-csp@2.0.13) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.11...@thi.ng/rstream-csp@2.0.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.10...@thi.ng/rstream-csp@2.0.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.9...@thi.ng/rstream-csp@2.0.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.8...@thi.ng/rstream-csp@2.0.9) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.7...@thi.ng/rstream-csp@2.0.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@1.0.33...@thi.ng/rstream-csp@2.0.0) (2019-11-30) ### Code Refactoring diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 53989ba634..27b3c838c9 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.27...@thi.ng/rstream-dot@1.1.28) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.26...@thi.ng/rstream-dot@1.1.27) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.25...@thi.ng/rstream-dot@1.1.26) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.24...@thi.ng/rstream-dot@1.1.25) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.23...@thi.ng/rstream-dot@1.1.24) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.22...@thi.ng/rstream-dot@1.1.23) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.21...@thi.ng/rstream-dot@1.1.22) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.20...@thi.ng/rstream-dot@1.1.21) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.19...@thi.ng/rstream-dot@1.1.20) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.18...@thi.ng/rstream-dot@1.1.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.17...@thi.ng/rstream-dot@1.1.18) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.16...@thi.ng/rstream-dot@1.1.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.15...@thi.ng/rstream-dot@1.1.16) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.14...@thi.ng/rstream-dot@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.0.26...@thi.ng/rstream-dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 3c1288e3f5..b0615386e7 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.19...@thi.ng/rstream-gestures@2.0.20) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.18...@thi.ng/rstream-gestures@2.0.19) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.17...@thi.ng/rstream-gestures@2.0.18) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.16...@thi.ng/rstream-gestures@2.0.17) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.15...@thi.ng/rstream-gestures@2.0.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.14...@thi.ng/rstream-gestures@2.0.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.13...@thi.ng/rstream-gestures@2.0.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.12...@thi.ng/rstream-gestures@2.0.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.11...@thi.ng/rstream-gestures@2.0.12) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.10...@thi.ng/rstream-gestures@2.0.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.9...@thi.ng/rstream-gestures@2.0.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.8...@thi.ng/rstream-gestures@2.0.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.7...@thi.ng/rstream-gestures@2.0.8) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.6...@thi.ng/rstream-gestures@2.0.7) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@1.3.0...@thi.ng/rstream-gestures@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index c8b43a056a..484e646d10 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.20...@thi.ng/rstream-graph@3.2.21) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.19...@thi.ng/rstream-graph@3.2.20) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.18...@thi.ng/rstream-graph@3.2.19) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.17...@thi.ng/rstream-graph@3.2.18) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.16...@thi.ng/rstream-graph@3.2.17) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.15...@thi.ng/rstream-graph@3.2.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.14...@thi.ng/rstream-graph@3.2.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.13...@thi.ng/rstream-graph@3.2.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.12...@thi.ng/rstream-graph@3.2.13) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.11...@thi.ng/rstream-graph@3.2.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.10...@thi.ng/rstream-graph@3.2.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.9...@thi.ng/rstream-graph@3.2.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.8...@thi.ng/rstream-graph@3.2.9) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.7...@thi.ng/rstream-graph@3.2.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.1.8...@thi.ng/rstream-graph@3.2.0) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 5d7a92207c..b9df57e808 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.42...@thi.ng/rstream-log-file@0.1.43) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.41...@thi.ng/rstream-log-file@0.1.42) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.40...@thi.ng/rstream-log-file@0.1.41) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.39...@thi.ng/rstream-log-file@0.1.40) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.38...@thi.ng/rstream-log-file@0.1.39) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.37...@thi.ng/rstream-log-file@0.1.38) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.36...@thi.ng/rstream-log-file@0.1.37) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.35...@thi.ng/rstream-log-file@0.1.36) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.34...@thi.ng/rstream-log-file@0.1.35) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.33...@thi.ng/rstream-log-file@0.1.34) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.32...@thi.ng/rstream-log-file@0.1.33) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.31...@thi.ng/rstream-log-file@0.1.32) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.30...@thi.ng/rstream-log-file@0.1.31) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.29...@thi.ng/rstream-log-file@0.1.30) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - # 0.1.0 (2019-03-19) ### Features diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index a158f33ee3..252dad972a 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.27...@thi.ng/rstream-log@3.1.28) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.26...@thi.ng/rstream-log@3.1.27) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.25...@thi.ng/rstream-log@3.1.26) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.24...@thi.ng/rstream-log@3.1.25) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.23...@thi.ng/rstream-log@3.1.24) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.22...@thi.ng/rstream-log@3.1.23) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.21...@thi.ng/rstream-log@3.1.22) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.20...@thi.ng/rstream-log@3.1.21) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.19...@thi.ng/rstream-log@3.1.20) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.18...@thi.ng/rstream-log@3.1.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.17...@thi.ng/rstream-log@3.1.18) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.16...@thi.ng/rstream-log@3.1.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.15...@thi.ng/rstream-log@3.1.16) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.14...@thi.ng/rstream-log@3.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.0.14...@thi.ng/rstream-log@3.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 75d11b8d60..4dba714ee9 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.27...@thi.ng/rstream-query@1.1.28) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.26...@thi.ng/rstream-query@1.1.27) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.25...@thi.ng/rstream-query@1.1.26) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.24...@thi.ng/rstream-query@1.1.25) (2020-05-15) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.23...@thi.ng/rstream-query@1.1.24) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.22...@thi.ng/rstream-query@1.1.23) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.21...@thi.ng/rstream-query@1.1.22) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.20...@thi.ng/rstream-query@1.1.21) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.19...@thi.ng/rstream-query@1.1.20) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.18...@thi.ng/rstream-query@1.1.19) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.17...@thi.ng/rstream-query@1.1.18) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.16...@thi.ng/rstream-query@1.1.17) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.15...@thi.ng/rstream-query@1.1.16) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.14...@thi.ng/rstream-query@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - ## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.6...@thi.ng/rstream-query@1.1.7) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 8a755ade34..ecc34e55e6 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,14 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.1...@thi.ng/rstream@4.3.2) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - ## [4.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.0...@thi.ng/rstream@4.3.1) (2020-05-16) @@ -78,30 +70,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.5...@thi.ng/rstream@4.0.6) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [4.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.4...@thi.ng/rstream@4.0.5) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [4.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.3...@thi.ng/rstream@4.0.4) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - ## [4.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.2...@thi.ng/rstream@4.0.3) (2020-04-06) @@ -113,22 +81,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.1...@thi.ng/rstream@4.0.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.0.0...@thi.ng/rstream@4.0.1) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@3.0.7...@thi.ng/rstream@4.0.0) (2020-03-28) diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index 42b9f8977d..e961a8526e 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.22...@thi.ng/sax@1.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.21...@thi.ng/sax@1.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.20...@thi.ng/sax@1.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.19...@thi.ng/sax@1.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.18...@thi.ng/sax@1.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.17...@thi.ng/sax@1.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.16...@thi.ng/sax@1.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.15...@thi.ng/sax@1.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.14...@thi.ng/sax@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/sax - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.0.19...@thi.ng/sax@1.1.0) (2019-07-07) ### Features diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index 53a94f17a4..eba9765f77 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.17...@thi.ng/scenegraph@0.1.18) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.16...@thi.ng/scenegraph@0.1.17) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.15...@thi.ng/scenegraph@0.1.16) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.14...@thi.ng/scenegraph@0.1.15) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.13...@thi.ng/scenegraph@0.1.14) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.12...@thi.ng/scenegraph@0.1.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.11...@thi.ng/scenegraph@0.1.12) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.10...@thi.ng/scenegraph@0.1.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.9...@thi.ng/scenegraph@0.1.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.8...@thi.ng/scenegraph@0.1.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.7...@thi.ng/scenegraph@0.1.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - # 0.1.0 (2019-11-30) ### Features diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 051f641d48..483c99bc6d 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.12...@thi.ng/seq@0.2.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.11...@thi.ng/seq@0.2.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.10...@thi.ng/seq@0.2.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.9...@thi.ng/seq@0.2.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.8...@thi.ng/seq@0.2.9) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.7...@thi.ng/seq@0.2.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.6...@thi.ng/seq@0.2.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.5...@thi.ng/seq@0.2.6) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/seq - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.1.0...@thi.ng/seq@0.2.0) (2020-01-24) ### Features diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index 960b42ba17..563d1a12c5 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.15...@thi.ng/sexpr@0.2.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.14...@thi.ng/sexpr@0.2.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.13...@thi.ng/sexpr@0.2.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.12...@thi.ng/sexpr@0.2.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.11...@thi.ng/sexpr@0.2.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.10...@thi.ng/sexpr@0.2.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.9...@thi.ng/sexpr@0.2.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.8...@thi.ng/sexpr@0.2.9) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.1.0...@thi.ng/sexpr@0.2.0) (2019-09-23) ### Features diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 275a1ec7af..6a16f45349 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.25...@thi.ng/shader-ast-glsl@0.1.26) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.24...@thi.ng/shader-ast-glsl@0.1.25) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.23...@thi.ng/shader-ast-glsl@0.1.24) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.22...@thi.ng/shader-ast-glsl@0.1.23) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.21...@thi.ng/shader-ast-glsl@0.1.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.20...@thi.ng/shader-ast-glsl@0.1.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.19...@thi.ng/shader-ast-glsl@0.1.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.18...@thi.ng/shader-ast-glsl@0.1.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.17...@thi.ng/shader-ast-glsl@0.1.18) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.16...@thi.ng/shader-ast-glsl@0.1.17) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - # 0.1.0 (2019-07-07) ### Bug Fixes diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 210306a2e5..55582fcbd0 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,102 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.20...@thi.ng/shader-ast-js@0.4.21) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.19...@thi.ng/shader-ast-js@0.4.20) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.18...@thi.ng/shader-ast-js@0.4.19) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.17...@thi.ng/shader-ast-js@0.4.18) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.16...@thi.ng/shader-ast-js@0.4.17) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.15...@thi.ng/shader-ast-js@0.4.16) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.14...@thi.ng/shader-ast-js@0.4.15) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.13...@thi.ng/shader-ast-js@0.4.14) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.12...@thi.ng/shader-ast-js@0.4.13) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.11...@thi.ng/shader-ast-js@0.4.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.10...@thi.ng/shader-ast-js@0.4.11) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.9...@thi.ng/shader-ast-js@0.4.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.3.1...@thi.ng/shader-ast-js@0.4.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index d649194414..09aad6b9bf 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.18...@thi.ng/shader-ast-stdlib@0.3.19) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.17...@thi.ng/shader-ast-stdlib@0.3.18) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.16...@thi.ng/shader-ast-stdlib@0.3.17) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.15...@thi.ng/shader-ast-stdlib@0.3.16) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.14...@thi.ng/shader-ast-stdlib@0.3.15) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.13...@thi.ng/shader-ast-stdlib@0.3.14) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.12...@thi.ng/shader-ast-stdlib@0.3.13) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.11...@thi.ng/shader-ast-stdlib@0.3.12) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.10...@thi.ng/shader-ast-stdlib@0.3.11) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.9...@thi.ng/shader-ast-stdlib@0.3.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.2.3...@thi.ng/shader-ast-stdlib@0.3.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 891506b036..12ab4480fa 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,86 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.19...@thi.ng/shader-ast@0.3.20) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.18...@thi.ng/shader-ast@0.3.19) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.17...@thi.ng/shader-ast@0.3.18) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.16...@thi.ng/shader-ast@0.3.17) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.15...@thi.ng/shader-ast@0.3.16) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.14...@thi.ng/shader-ast@0.3.15) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.13...@thi.ng/shader-ast@0.3.14) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.12...@thi.ng/shader-ast@0.3.13) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.11...@thi.ng/shader-ast@0.3.12) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.10...@thi.ng/shader-ast@0.3.11) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.2.3...@thi.ng/shader-ast@0.3.0) (2019-08-21) ### Features diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index c99bfd8278..02207cfb94 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -14,70 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.15...@thi.ng/simd@0.1.16) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.14...@thi.ng/simd@0.1.15) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.13...@thi.ng/simd@0.1.14) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.12...@thi.ng/simd@0.1.13) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.11...@thi.ng/simd@0.1.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.10...@thi.ng/simd@0.1.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.9...@thi.ng/simd@0.1.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.8...@thi.ng/simd@0.1.9) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/simd - - - - - # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 0fd3a48cbb..84a815caea 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.18...@thi.ng/soa@0.1.19) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.17...@thi.ng/soa@0.1.18) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.16...@thi.ng/soa@0.1.17) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.15...@thi.ng/soa@0.1.16) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.14...@thi.ng/soa@0.1.15) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.13...@thi.ng/soa@0.1.14) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.12...@thi.ng/soa@0.1.13) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.11...@thi.ng/soa@0.1.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.10...@thi.ng/soa@0.1.11) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.9...@thi.ng/soa@0.1.10) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.8...@thi.ng/soa@0.1.9) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/soa - - - - - # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 435cfc05a0..29f14f10de 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.38...@thi.ng/sparse@0.1.39) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.37...@thi.ng/sparse@0.1.38) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.36...@thi.ng/sparse@0.1.37) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.35...@thi.ng/sparse@0.1.36) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.34...@thi.ng/sparse@0.1.35) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.33...@thi.ng/sparse@0.1.34) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.32...@thi.ng/sparse@0.1.33) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.31...@thi.ng/sparse@0.1.32) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.30...@thi.ng/sparse@0.1.31) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - # 0.1.0 (2019-02-17) ### Features diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 5fbf2085c0..4bb9343e09 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.8.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.7...@thi.ng/strings@1.8.8) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.6...@thi.ng/strings@1.8.7) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.5...@thi.ng/strings@1.8.6) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.4...@thi.ng/strings@1.8.5) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.3...@thi.ng/strings@1.8.4) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.2...@thi.ng/strings@1.8.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.1...@thi.ng/strings@1.8.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.8.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.0...@thi.ng/strings@1.8.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/strings - - - - - # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.7.0...@thi.ng/strings@1.8.0) (2020-03-28) diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index 06f7ab1a27..ea58c626b8 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.7...@thi.ng/system@0.2.8) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.6...@thi.ng/system@0.2.7) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.5...@thi.ng/system@0.2.6) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.4...@thi.ng/system@0.2.5) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.3...@thi.ng/system@0.2.4) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.2...@thi.ng/system@0.2.3) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.1...@thi.ng/system@0.2.2) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.0...@thi.ng/system@0.2.1) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/system - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.1.0...@thi.ng/system@0.2.0) (2020-04-03) diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index 83de051c9b..2ef224ef52 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.11...@thi.ng/text-canvas@0.2.12) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.10...@thi.ng/text-canvas@0.2.11) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.9...@thi.ng/text-canvas@0.2.10) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.8...@thi.ng/text-canvas@0.2.9) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.7...@thi.ng/text-canvas@0.2.8) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.6...@thi.ng/text-canvas@0.2.7) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.5...@thi.ng/text-canvas@0.2.6) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.4...@thi.ng/text-canvas@0.2.5) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.3...@thi.ng/text-canvas@0.2.4) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.2...@thi.ng/text-canvas@0.2.3) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.1...@thi.ng/text-canvas@0.2.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.2...@thi.ng/text-canvas@0.2.0) (2020-03-01) diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index f715e5c965..16f5fff40e 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.12...@thi.ng/transducers-binary@0.5.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.11...@thi.ng/transducers-binary@0.5.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.10...@thi.ng/transducers-binary@0.5.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.9...@thi.ng/transducers-binary@0.5.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.8...@thi.ng/transducers-binary@0.5.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.7...@thi.ng/transducers-binary@0.5.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.6...@thi.ng/transducers-binary@0.5.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.5...@thi.ng/transducers-binary@0.5.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.4...@thi.ng/transducers-binary@0.5.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.4.9...@thi.ng/transducers-binary@0.5.0) (2020-02-25) diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index 5ca7085a0e..b1f0850128 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.22...@thi.ng/transducers-fsm@1.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.21...@thi.ng/transducers-fsm@1.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.20...@thi.ng/transducers-fsm@1.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.19...@thi.ng/transducers-fsm@1.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.18...@thi.ng/transducers-fsm@1.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.17...@thi.ng/transducers-fsm@1.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.16...@thi.ng/transducers-fsm@1.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.15...@thi.ng/transducers-fsm@1.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.14...@thi.ng/transducers-fsm@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.0.19...@thi.ng/transducers-fsm@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 2eb25d7b11..abac55acff 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,110 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.51...@thi.ng/transducers-hdom@2.0.52) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.50...@thi.ng/transducers-hdom@2.0.51) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.49...@thi.ng/transducers-hdom@2.0.50) (2020-05-05) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.48...@thi.ng/transducers-hdom@2.0.49) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.47...@thi.ng/transducers-hdom@2.0.48) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.46...@thi.ng/transducers-hdom@2.0.47) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.45...@thi.ng/transducers-hdom@2.0.46) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.44...@thi.ng/transducers-hdom@2.0.45) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.43...@thi.ng/transducers-hdom@2.0.44) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.42...@thi.ng/transducers-hdom@2.0.43) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.41...@thi.ng/transducers-hdom@2.0.42) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.40...@thi.ng/transducers-hdom@2.0.41) (2020-04-01) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.39...@thi.ng/transducers-hdom@2.0.40) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.2.16...@thi.ng/transducers-hdom@2.0.0) (2019-01-21) ### Build System diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index 74dea15855..465219fe7c 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.13...@thi.ng/transducers-patch@0.1.14) (2020-05-16) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.12...@thi.ng/transducers-patch@0.1.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.11...@thi.ng/transducers-patch@0.1.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.10...@thi.ng/transducers-patch@0.1.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.9...@thi.ng/transducers-patch@0.1.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.8...@thi.ng/transducers-patch@0.1.9) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.7...@thi.ng/transducers-patch@0.1.8) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.6...@thi.ng/transducers-patch@0.1.7) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.5...@thi.ng/transducers-patch@0.1.6) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - ## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.4...@thi.ng/transducers-patch@0.1.5) (2020-03-28) diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index b54e98795f..9329b12832 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,78 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.22...@thi.ng/transducers-stats@1.1.23) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.21...@thi.ng/transducers-stats@1.1.22) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.20...@thi.ng/transducers-stats@1.1.21) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.19...@thi.ng/transducers-stats@1.1.20) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.18...@thi.ng/transducers-stats@1.1.19) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.17...@thi.ng/transducers-stats@1.1.18) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.16...@thi.ng/transducers-stats@1.1.17) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.15...@thi.ng/transducers-stats@1.1.16) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.14...@thi.ng/transducers-stats@1.1.15) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.0.19...@thi.ng/transducers-stats@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index 2c7bb79d88..d0aef710b6 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -14,70 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [6.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.8...@thi.ng/transducers@6.4.9) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.7...@thi.ng/transducers@6.4.8) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.6...@thi.ng/transducers@6.4.7) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.5...@thi.ng/transducers@6.4.6) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.4...@thi.ng/transducers@6.4.5) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.3...@thi.ng/transducers@6.4.4) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.2...@thi.ng/transducers@6.4.3) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [6.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.1...@thi.ng/transducers@6.4.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - # [6.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.3.2...@thi.ng/transducers@6.4.0) (2020-03-01) diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index 3e11cc01cd..bb593e62f4 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,62 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.15...@thi.ng/unionstruct@1.1.16) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.14...@thi.ng/unionstruct@1.1.15) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.13...@thi.ng/unionstruct@1.1.14) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.12...@thi.ng/unionstruct@1.1.13) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.11...@thi.ng/unionstruct@1.1.12) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.10...@thi.ng/unionstruct@1.1.11) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - -## [1.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.9...@thi.ng/unionstruct@1.1.10) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/unionstruct - - - - - # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.0.6...@thi.ng/unionstruct@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 8ebd251689..f6702d10e9 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,94 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.27...@thi.ng/vector-pools@1.0.28) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.26...@thi.ng/vector-pools@1.0.27) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.25...@thi.ng/vector-pools@1.0.26) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.24...@thi.ng/vector-pools@1.0.25) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.23...@thi.ng/vector-pools@1.0.24) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.22...@thi.ng/vector-pools@1.0.23) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.21...@thi.ng/vector-pools@1.0.22) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.20...@thi.ng/vector-pools@1.0.21) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.19...@thi.ng/vector-pools@1.0.20) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.18...@thi.ng/vector-pools@1.0.19) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.17...@thi.ng/vector-pools@1.0.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@0.2.16...@thi.ng/vector-pools@1.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index 9cb599168e..a06710c5ac 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -14,30 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.3.3...@thi.ng/vectors@4.3.4) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.3.2...@thi.ng/vectors@4.3.3) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.3.1...@thi.ng/vectors@4.3.2) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - ## [4.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.3.0...@thi.ng/vectors@4.3.1) (2020-04-23) @@ -60,46 +36,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [4.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.5...@thi.ng/vectors@4.2.6) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.4...@thi.ng/vectors@4.2.5) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.3...@thi.ng/vectors@4.2.4) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.2...@thi.ng/vectors@4.2.3) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - -## [4.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.2.1...@thi.ng/vectors@4.2.2) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/vectors - - - - - # [4.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.1.2...@thi.ng/vectors@4.2.0) (2020-03-01) diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index 015f7f3104..dc05d6c923 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.30...@thi.ng/webgl-msdf@0.1.31) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.29...@thi.ng/webgl-msdf@0.1.30) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.28...@thi.ng/webgl-msdf@0.1.29) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.27...@thi.ng/webgl-msdf@0.1.28) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.26...@thi.ng/webgl-msdf@0.1.27) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.25...@thi.ng/webgl-msdf@0.1.26) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.24...@thi.ng/webgl-msdf@0.1.25) (2020-04-21) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.23...@thi.ng/webgl-msdf@0.1.24) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.22...@thi.ng/webgl-msdf@0.1.23) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.21...@thi.ng/webgl-msdf@0.1.22) (2020-04-07) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.20...@thi.ng/webgl-msdf@0.1.21) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.19...@thi.ng/webgl-msdf@0.1.20) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.18...@thi.ng/webgl-msdf@0.1.19) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.17...@thi.ng/webgl-msdf@0.1.18) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.9...@thi.ng/webgl-msdf@0.1.10) (2019-11-30) ### Bug Fixes diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 540ada1eee..5d29c77e65 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,118 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.17...@thi.ng/webgl-shadertoy@0.2.18) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.16...@thi.ng/webgl-shadertoy@0.2.17) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.15...@thi.ng/webgl-shadertoy@0.2.16) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.14...@thi.ng/webgl-shadertoy@0.2.15) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.13...@thi.ng/webgl-shadertoy@0.2.14) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.12...@thi.ng/webgl-shadertoy@0.2.13) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.11...@thi.ng/webgl-shadertoy@0.2.12) (2020-04-21) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.10...@thi.ng/webgl-shadertoy@0.2.11) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.9...@thi.ng/webgl-shadertoy@0.2.10) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.8...@thi.ng/webgl-shadertoy@0.2.9) (2020-04-07) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.7...@thi.ng/webgl-shadertoy@0.2.8) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.6...@thi.ng/webgl-shadertoy@0.2.7) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.5...@thi.ng/webgl-shadertoy@0.2.6) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.4...@thi.ng/webgl-shadertoy@0.2.5) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.1.4...@thi.ng/webgl-shadertoy@0.2.0) (2020-02-25) diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index dab1547d33..f803ad42c3 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,54 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.12...@thi.ng/webgl@1.0.13) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.11...@thi.ng/webgl@1.0.12) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.10...@thi.ng/webgl@1.0.11) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.9...@thi.ng/webgl@1.0.10) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.8...@thi.ng/webgl@1.0.9) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.7...@thi.ng/webgl@1.0.8) (2020-04-23) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - ## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.6...@thi.ng/webgl@1.0.7) (2020-04-21) @@ -62,14 +14,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.5...@thi.ng/webgl@1.0.6) (2020-04-20) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - ## [1.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.4...@thi.ng/webgl@1.0.5) (2020-04-11) @@ -93,30 +37,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.2...@thi.ng/webgl@1.0.3) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.1...@thi.ng/webgl@1.0.2) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.0...@thi.ng/webgl@1.0.1) (2020-04-03) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@0.3.4...@thi.ng/webgl@1.0.0) (2020-03-28) diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index 32a434948c..7dc5672619 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,70 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.14...@thi.ng/zipper@0.1.15) (2020-05-14) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.13...@thi.ng/zipper@0.1.14) (2020-05-03) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.12...@thi.ng/zipper@0.1.13) (2020-04-28) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.11...@thi.ng/zipper@0.1.12) (2020-04-27) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.10...@thi.ng/zipper@0.1.11) (2020-04-11) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.9...@thi.ng/zipper@0.1.10) (2020-04-06) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.8...@thi.ng/zipper@0.1.9) (2020-04-05) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.7...@thi.ng/zipper@0.1.8) (2020-03-28) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - # 0.1.0 (2019-11-30) ### Features From 65929a2ee6be9915e14bf69389520739073af5ee Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 19 May 2020 10:26:47 +0100 Subject: [PATCH 16/43] feat(pixel): update canvas2d(), imageCanvas() - add opt parent arg to append canvas as child node --- packages/pixel/src/canvas.ts | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/packages/pixel/src/canvas.ts b/packages/pixel/src/canvas.ts index 398e7ed0de..a940f02c84 100644 --- a/packages/pixel/src/canvas.ts +++ b/packages/pixel/src/canvas.ts @@ -3,18 +3,25 @@ import type { CanvasContext, RawPixelBuffer } from "./api"; /** * Creates a canvas element of given size, obtains its 2D drawing - * context and returns object of both. + * context and returns object of both. If `parent` is given, the canvas + * is appended to it as child. * * @param width - * @param height - + * @param parent - */ -export const canvas2d = (width: number, height = width): CanvasContext => { +export const canvas2d = ( + width: number, + height = width, + parent?: HTMLElement +): CanvasContext => { const canvas = document.createElement("canvas"); canvas.width = width; canvas.height = height; + parent && parent.appendChild(canvas); return { canvas, - ctx: canvas.getContext("2d")! + ctx: canvas.getContext("2d")!, }; }; @@ -50,20 +57,23 @@ export function canvasPixels(width: HTMLCanvasElement | number, height?: number) /** * Creates canvas for given image and draws image, optionally with given * new size. If no width/height is given, the canvas will be of same - * size as image. + * size as image. If `parent` is given, the canvas is appended to it as + * child. * * @param img - * @param width - * @param height - + * @param parent - */ export const imageCanvas = ( img: HTMLImageElement, width?: number, - height = width + height = width, + parent?: HTMLElement ): CanvasContext => { const ctx = isNumber(width) - ? canvas2d(width, height) - : canvas2d(img.width, img.height); + ? canvas2d(width, height, parent) + : canvas2d(img.width, img.height, parent); ctx.ctx.drawImage(img, 0, 0, ctx.canvas.width, ctx.canvas.height); return ctx; }; From f4b2c3e374b45bd26396e436f3e71e9d3afbc131 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 19 May 2020 10:35:27 +0100 Subject: [PATCH 17/43] feat(pixel): add .copy(), update .blitCanvas() --- packages/pixel/src/packed.ts | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/pixel/src/packed.ts b/packages/pixel/src/packed.ts index c8f67b0c38..b01f23d86e 100644 --- a/packages/pixel/src/packed.ts +++ b/packages/pixel/src/packed.ts @@ -1,17 +1,16 @@ -import { - Fn, - IObjectOf, - Type, - UIntArray -} from "@thi.ng/api"; +import { Fn, IObjectOf, Type, UIntArray } from "@thi.ng/api"; import { isNumber } from "@thi.ng/checks"; -import { isPremultipliedInt, postmultiplyInt, premultiplyInt } from "@thi.ng/porter-duff"; +import { + isPremultipliedInt, + postmultiplyInt, + premultiplyInt, +} from "@thi.ng/porter-duff"; import { BlendFnInt, BlitOpts, Lane, PackedFormat, - PackedFormatSpec + PackedFormatSpec, } from "./api"; import { canvasPixels, imageCanvas } from "./canvas"; import { compileGrayFromABGR, compileGrayToABGR } from "./codegen"; @@ -24,7 +23,7 @@ import { setChannelConvert, setChannelSame, setChannelUni, - transformABGR + transformABGR, } from "./utils"; interface UIntArrayConstructor { @@ -36,7 +35,7 @@ interface UIntArrayConstructor { const CTORS: IObjectOf = { [Type.U8]: Uint8Array, [Type.U16]: Uint16Array, - [Type.U32]: Uint32Array + [Type.U32]: Uint32Array, }; export class PackedBuffer { @@ -92,6 +91,12 @@ export class PackedBuffer { return this.getRegion(0, 0, this.width, this.height, fmt); } + copy() { + const dest = new PackedBuffer(this.width, this.height, this.format); + dest.pixels.set(this.pixels); + return dest; + } + getAt(x: number, y: number) { return x >= 0 && x < this.width && y >= 0 && y < this.height ? this.pixels[(x | 0) + (y | 0) * this.width] @@ -190,6 +195,7 @@ export class PackedBuffer { dest[i] = fmt(src[i]); } ctx.putImageData(idata, x, y); + return canvas; } getRegion( @@ -211,7 +217,7 @@ export class PackedBuffer { sx, sy, w, - h + h, }); } @@ -223,7 +229,7 @@ export class PackedBuffer { size: chan.size, channels: [{ size: chan.size, lane: Lane.RED }], fromABGR: compileGrayFromABGR(chan.size), - toABGR: compileGrayToABGR(chan.size) + toABGR: compileGrayToABGR(chan.size), }); const src = this.pixels; const dest = buf.pixels; From de57ac07679b4db5174771f740275eb93282b87e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 19 May 2020 10:41:25 +0100 Subject: [PATCH 18/43] Publish - @thi.ng/pixel@0.2.0 - @thi.ng/shader-ast-js@0.4.22 - @thi.ng/webgl-msdf@0.1.32 - @thi.ng/webgl-shadertoy@0.2.19 - @thi.ng/webgl@1.0.14 --- packages/pixel/CHANGELOG.md | 12 ++++++++++++ packages/pixel/package.json | 2 +- packages/shader-ast-js/CHANGELOG.md | 8 ++++++++ packages/shader-ast-js/package.json | 4 ++-- packages/webgl-msdf/CHANGELOG.md | 8 ++++++++ packages/webgl-msdf/package.json | 4 ++-- packages/webgl-shadertoy/CHANGELOG.md | 8 ++++++++ packages/webgl-shadertoy/package.json | 4 ++-- packages/webgl/CHANGELOG.md | 8 ++++++++ packages/webgl/package.json | 4 ++-- 10 files changed, 53 insertions(+), 9 deletions(-) diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 503c6a77e4..9fbb05b8b9 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.20...@thi.ng/pixel@0.2.0) (2020-05-19) + + +### Features + +* **pixel:** add .copy(), update .blitCanvas() ([f4b2c3e](https://github.com/thi-ng/umbrella/commit/f4b2c3e374b45bd26396e436f3e71e9d3afbc131)) +* **pixel:** update canvas2d(), imageCanvas() ([65929a2](https://github.com/thi-ng/umbrella/commit/65929a2ee6be9915e14bf69389520739073af5ee)) + + + + + ## [0.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.3...@thi.ng/pixel@0.1.4) (2019-09-21) ### Bug Fixes diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 68dee0d353..d947332548 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.1.20", + "version": "0.2.0", "description": "Typed array backed, packed pixel buffer w/ customizable formats, blitting, conversions", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 55582fcbd0..45a2b71e04 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.21...@thi.ng/shader-ast-js@0.4.22) (2020-05-19) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.3.1...@thi.ng/shader-ast-js@0.4.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 20d5bf97ea..f10c0eed24 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.4.21", + "version": "0.4.22", "description": "Customizable JS code generator, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", "@thi.ng/matrices": "^0.6.15", - "@thi.ng/pixel": "^0.1.20", + "@thi.ng/pixel": "^0.2.0", "@thi.ng/shader-ast": "^0.3.20", "@thi.ng/vectors": "^4.4.0", "tslib": "^1.12.0" diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index dc05d6c923..cec757873d 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.31...@thi.ng/webgl-msdf@0.1.32) (2020-05-19) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.9...@thi.ng/webgl-msdf@0.1.10) (2019-11-30) ### Bug Fixes diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index c4a3f7cd5a..05a0888b66 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.31", + "version": "0.1.32", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/transducers": "^6.5.0", "@thi.ng/vector-pools": "^1.0.28", "@thi.ng/vectors": "^4.4.0", - "@thi.ng/webgl": "^1.0.13", + "@thi.ng/webgl": "^1.0.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 5d29c77e65..0142ed564f 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.18...@thi.ng/webgl-shadertoy@0.2.19) (2020-05-19) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.1.4...@thi.ng/webgl-shadertoy@0.2.0) (2020-02-25) diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index f82aa9b5c1..412cd69eb2 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.18", + "version": "0.2.19", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -47,7 +47,7 @@ "@thi.ng/shader-ast": "^0.3.20", "@thi.ng/shader-ast-glsl": "^0.1.26", "@thi.ng/transducers": "^6.5.0", - "@thi.ng/webgl": "^1.0.13", + "@thi.ng/webgl": "^1.0.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index f803ad42c3..88bf4662bd 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.13...@thi.ng/webgl@1.0.14) (2020-05-19) + +**Note:** Version bump only for package @thi.ng/webgl + + + + + ## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.6...@thi.ng/webgl@1.0.7) (2020-04-21) diff --git a/packages/webgl/package.json b/packages/webgl/package.json index 44ee101fd8..0f4002ed0b 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "1.0.13", + "version": "1.0.14", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -50,7 +50,7 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/matrices": "^0.6.15", - "@thi.ng/pixel": "^0.1.20", + "@thi.ng/pixel": "^0.2.0", "@thi.ng/shader-ast": "^0.3.20", "@thi.ng/shader-ast-glsl": "^0.1.26", "@thi.ng/shader-ast-stdlib": "^0.3.19", From d6c490fb22b3d43f188f85662bb431f59daa7f32 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 26 May 2020 13:02:31 +0100 Subject: [PATCH 19/43] feat(pixel): add FloatBuffer and float format support --- packages/pixel/src/api.ts | 41 ++++-- packages/pixel/src/codegen.ts | 4 +- packages/pixel/src/float.ts | 250 ++++++++++++++++++++++++++++++++++ packages/pixel/src/format.ts | 171 +++++++++++++++++++---- packages/pixel/src/index.ts | 1 + packages/pixel/src/packed.ts | 43 +++--- packages/pixel/src/utils.ts | 16 +-- 7 files changed, 459 insertions(+), 67 deletions(-) create mode 100644 packages/pixel/src/float.ts diff --git a/packages/pixel/src/api.ts b/packages/pixel/src/api.ts index a56c856e33..5e36ac726d 100644 --- a/packages/pixel/src/api.ts +++ b/packages/pixel/src/api.ts @@ -1,13 +1,20 @@ -import type { Fn, Fn2, Type, TypedArray } from "@thi.ng/api"; +import type { + Fn, + Fn2, + IObjectOf, + NumericArray, + Type, + TypedArray, +} from "@thi.ng/api"; /** * ABGR 8bit lane/channel IDs */ export enum Lane { ALPHA = 0, - RED = 3, - GREEN = 2, BLUE = 1, + GREEN = 2, + RED = 3, } /** @@ -36,10 +43,10 @@ export type UintType = Type.U8 | Type.U16 | Type.U32; export type BlendFnInt = Fn2; export type BlendFnFloat = ( - out: number[] | TypedArray | null, - src: ArrayLike, - dest: ArrayLike -) => ArrayLike; + out: NumericArray | null, + src: NumericArray, + dest: NumericArray +) => NumericArray; /** * Color channel getter. Returns 0-based channel value (regardless of @@ -57,7 +64,7 @@ export interface IABGRConvert { /** * Converts given ABGR value into internal pixel format. */ - fromABGR: Fn; + fromABGR: (x: number, out?: T) => T; /** * Converts given internal pixel format value to packed ABGR. */ @@ -155,7 +162,23 @@ export interface PackedFormat extends IABGRConvert { alpha: number; channels: PackedChannel[]; // internal marker only - readonly __compiled: true; + readonly __packed: true; +} + +export interface FloatFormatSpec { + alpha?: boolean; + gray?: boolean; + channels: Lane[]; +} + +export interface FloatFormat extends IABGRConvert { + alpha: boolean; + gray: boolean; + size: number; + shift: IObjectOf; + channels: Lane[]; + // internal marker only + readonly __float: true; } export interface CanvasContext { diff --git a/packages/pixel/src/codegen.ts b/packages/pixel/src/codegen.ts index 4e8092fafa..77d398e8ea 100644 --- a/packages/pixel/src/codegen.ts +++ b/packages/pixel/src/codegen.ts @@ -31,7 +31,7 @@ export const compileGrayToABGR = (size: number) => { if (size !== 8) { const mask = (1 << size) - 1; // rescale factor - const scale = 255 / mask; + const scale = 0xff / mask; body = `(((x & ${mask}) * ${scale}) | 0)`; } else { body = "x"; @@ -62,7 +62,7 @@ export const compileToABGR = (chans: PackedChannel[], hasAlpha: boolean) => { if (ch.size !== 8) { const mask = ch.mask0; // rescale factor - const scale = 255 / mask; + const scale = 0xff / mask; const inner = compileRShift("x", ch.shift); return compileLShift( `((${inner} & ${mask}) * ${scale})`, diff --git a/packages/pixel/src/float.ts b/packages/pixel/src/float.ts new file mode 100644 index 0000000000..56b358be77 --- /dev/null +++ b/packages/pixel/src/float.ts @@ -0,0 +1,250 @@ +import { assert, Fn, NumericArray } from "@thi.ng/api"; +import { isNumber } from "@thi.ng/checks"; +import { clamp01 } from "@thi.ng/math"; +import { + BlendFnFloat, + BlitOpts, + FloatFormat, + FloatFormatSpec, + PackedFormat, +} from "./api"; +import { defFloatFormat, FLOAT_GRAY } from "./format"; +import { PackedBuffer } from "./packed"; +import { clampRegion, ensureChannel, ensureSize, prepRegions } from "./utils"; + +/** + * Syntax sugar for {@link FloatBuffer} ctor. + * + * @param w - + * @param h - + * @param fmt - + * @param pixels - + */ +export const floatBuffer = ( + w: number, + h: number, + fmt: FloatFormat | FloatFormatSpec, + pixels?: Float32Array +) => new FloatBuffer(w, h, fmt, pixels); + +export class FloatBuffer { + width: number; + height: number; + stride: number; + rowStride: number; + pixels: Float32Array; + format: FloatFormat; + + constructor( + w: number, + h: number, + fmt: FloatFormat | FloatFormatSpec, + pixels?: Float32Array + ) { + this.width = w; + this.height = h; + this.format = (fmt).__float + ? fmt + : defFloatFormat(fmt); + this.stride = fmt.channels.length; + this.rowStride = w * this.stride; + this.pixels = pixels || new Float32Array(w * h * this.stride); + } + + as(fmt: PackedFormat) { + const { width, height, stride, pixels, format: sfmt } = this; + const dest = new PackedBuffer(width, height, fmt); + const dpixels = dest.pixels; + for (let i = 0, j = 0, n = pixels.length; i < n; i += stride, j++) { + dpixels[j] = fmt.fromABGR( + sfmt.toABGR(pixels.subarray(i, i + stride)) + ); + } + return dest; + } + + copy() { + const dest = new FloatBuffer(this.width, this.height, this.format); + dest.pixels.set(this.pixels); + return dest; + } + + getAt(x: number, y: number) { + const { width, stride } = this; + if (x >= 0 && x < width && y >= 0 && y < this.height) { + const idx = (x | 0) * stride + (y | 0) * this.rowStride; + return this.pixels.subarray(idx, idx + stride); + } + } + + setAt(x: number, y: number, col: NumericArray) { + x >= 0 && + x < this.width && + y >= 0 && + y < this.height && + this.pixels.set( + col, + (x | 0) * this.stride + (y | 0) * this.rowStride + ); + return this; + } + + getChannelAt(x: number, y: number, id: number) { + ensureChannel(this.format, id); + const { width, stride } = this; + if (x >= 0 && x < width && y >= 0 && y < this.height) { + return this.pixels[ + (x | 0) * stride + (y | 0) * this.rowStride + id + ]; + } + } + + setChannelAt(x: number, y: number, id: number, col: number) { + ensureChannel(this.format, id); + const { width, stride } = this; + if (x >= 0 && x < width && y >= 0 && y < this.height) { + this.pixels[(x | 0) * stride + (y | 0) * this.rowStride + id] = col; + } + return this; + } + + getChannel(id: number) { + ensureChannel(this.format, id); + const { pixels, stride } = this; + const dest = new Float32Array(this.width * this.height); + for (let i = id, j = 0, n = pixels.length; i < n; i += stride, j++) { + dest[j] = clamp01(pixels[i]); + } + return new FloatBuffer(this.width, this.height, FLOAT_GRAY, dest); + } + + setChannel(id: number, src: FloatBuffer | number) { + ensureChannel(this.format, id); + const { pixels: dest, stride } = this; + if (isNumber(src)) { + for (let i = id, n = dest.length; i < n; i += stride) { + dest[i] = src; + } + } else { + const { pixels: sbuf, stride: sstride } = src; + ensureSize(sbuf, this.width, this.height, sstride); + for ( + let i = id, j = 0, n = dest.length; + i < n; + i += stride, j += sstride + ) { + dest[i] = sbuf[j]; + } + } + return this; + } + + blend(op: BlendFnFloat, dest: FloatBuffer, opts?: Partial) { + this.ensureFormat(dest); + const { sx, sy, dx, dy, rw, rh } = prepRegions(this, dest, opts); + if (rw < 1 || rh < 1) return dest; + const sbuf = this.pixels; + const dbuf = dest.pixels; + const sw = this.rowStride; + const dw = dest.rowStride; + const stride = this.stride; + for ( + let si = (sx | 0) * stride + (sy | 0) * sw, + di = (dx | 0) * stride + (dy | 0) * dw, + yy = 0; + yy < rh; + yy++, si += sw, di += dw + ) { + for ( + let xx = rw, sii = si, dii = di; + --xx >= 0; + sii += stride, dii += stride + ) { + const out = dbuf.subarray(dii, dii + stride); + op(out, sbuf.subarray(sii, sii + stride), out); + } + } + return dest; + } + + blit(dest: FloatBuffer, opts?: Partial) { + this.ensureFormat(dest); + const { sx, sy, dx, dy, rw, rh } = prepRegions(this, dest, opts); + if (rw < 1 || rh < 1) return dest; + const sbuf = this.pixels; + const dbuf = dest.pixels; + const sw = this.rowStride; + const dw = dest.rowStride; + const rww = rw * this.stride; + for ( + let si = (sx | 0) * this.stride + (sy | 0) * sw, + di = (dx | 0) * this.stride + (dy | 0) * dw, + yy = 0; + yy < rh; + yy++, si += sw, di += dw + ) { + dbuf.set(sbuf.subarray(si, si + rww), di); + } + return dest; + } + + blitCanvas(canvas: HTMLCanvasElement, x = 0, y = 0) { + const ctx = canvas.getContext("2d")!; + const idata = new ImageData(this.width, this.height); + const dest = new Uint32Array(idata.data.buffer); + const { stride, pixels, format } = this; + for (let i = 0, j = 0, n = pixels.length; i < n; i += stride, j++) { + dest[j] = format.toABGR(pixels.subarray(i, i + stride)); + } + ctx.putImageData(idata, x, y); + return canvas; + } + + getRegion(x: number, y: number, width: number, height: number) { + const [sx, sy, w, h] = clampRegion( + x, + y, + width, + height, + this.width, + this.height + ); + return this.blit(new FloatBuffer(w, h, this.format), { + sx, + sy, + w, + h, + }); + } + + forEach(f: Fn) { + const { pixels, stride } = this; + for (let i = 0, n = pixels.length; i < n; i + stride) { + f(pixels.subarray(i, i + stride)); + } + return this; + } + + clamp() { + const pixels = this.pixels; + for (let i = pixels.length; --i >= 0; ) { + pixels[i] = clamp01(pixels[i]); + } + return this; + } + + clampChannel(id: number) { + ensureChannel(this.format, id); + const { pixels, stride } = this; + for (let i = id, n = pixels.length; i < n; i += stride) { + pixels[i] = clamp01(pixels[i]); + } + } + + protected ensureFormat(dest: FloatBuffer) { + assert( + dest.format === this.format, + `dest buffer format must be same as src` + ); + } +} diff --git a/packages/pixel/src/format.ts b/packages/pixel/src/format.ts index 8e92bef0a8..e58107f643 100644 --- a/packages/pixel/src/format.ts +++ b/packages/pixel/src/format.ts @@ -1,11 +1,13 @@ -import { assert, Type } from "@thi.ng/api"; +import { assert, IObjectOf, NumericArray, Type } from "@thi.ng/api"; import { clamp01 } from "@thi.ng/math"; import { + FloatFormat, + FloatFormatSpec, Lane, PackedChannel, PackedChannelSpec, PackedFormat, - PackedFormatSpec + PackedFormatSpec, } from "./api"; import { compileFromABGR, compileToABGR } from "./codegen"; import { luminanceABGR } from "./utils"; @@ -32,7 +34,7 @@ const defChannel = ( int, setInt, float: (x) => int(x) / mask0, - setFloat: (src, x) => setInt(src, clamp01(x) * mask0) + setFloat: (src, x) => setInt(src, clamp01(x) * mask0), }; }; @@ -47,13 +49,13 @@ export const defPackedFormat = (fmt: PackedFormatSpec): PackedFormat => { <[PackedChannel[], number]>[[], fmt.size] )[0]; return { - __compiled: true, + __packed: true, type: fmt.type, size: fmt.size, alpha: fmt.alpha || 0, channels, fromABGR: fmt.fromABGR || compileFromABGR(channels), - toABGR: fmt.toABGR || compileToABGR(channels, !!fmt.alpha) + toABGR: fmt.toABGR || compileToABGR(channels, !!fmt.alpha), }; }; @@ -61,7 +63,7 @@ export const ALPHA8 = defPackedFormat({ type: Type.U8, size: 8, alpha: 8, - channels: [{ size: 8, lane: 0 }] + channels: [{ size: 8, lane: 0 }], }); export const GRAY8 = defPackedFormat({ @@ -69,7 +71,7 @@ export const GRAY8 = defPackedFormat({ size: 8, channels: [{ size: 8, lane: Lane.RED }], fromABGR: (x) => luminanceABGR(x), - toABGR: (x) => 0xff000000 | ((x & 0xff) * 0x010101) + toABGR: (x) => (0xff000000 | ((x & 0xff) * 0x010101)) >>> 0, }); export const GRAY_ALPHA8 = defPackedFormat({ @@ -78,10 +80,10 @@ export const GRAY_ALPHA8 = defPackedFormat({ alpha: 8, channels: [ { size: 8, lane: Lane.ALPHA }, - { size: 8, lane: Lane.RED } + { size: 8, lane: Lane.RED }, ], fromABGR: (x) => luminanceABGR(x) | ((x >>> 16) & 0xff00), - toABGR: (x) => ((x & 0xff00) << 16) | ((x & 0xff) * 0x010101) + toABGR: (x) => (((x & 0xff00) << 16) | ((x & 0xff) * 0x010101)) >>> 0, }); export const GRAY16 = defPackedFormat({ @@ -89,7 +91,7 @@ export const GRAY16 = defPackedFormat({ size: 16, channels: [{ size: 16, lane: Lane.RED }], fromABGR: (x) => ((luminanceABGR(x) + 0.5) | 0) * 0x0101, - toABGR: (x) => 0xff000000 | ((x >>> 8) * 0x010101) + toABGR: (x) => (0xff000000 | ((x >>> 8) * 0x010101)) >>> 0, }); export const GRAY_ALPHA16 = defPackedFormat({ @@ -97,12 +99,12 @@ export const GRAY_ALPHA16 = defPackedFormat({ size: 32, channels: [ { size: 8, lane: Lane.ALPHA }, - { size: 16, lane: Lane.RED } + { size: 16, lane: Lane.RED }, ], fromABGR: (x) => (((luminanceABGR(x) + 0.5) | 0) * 0x0101) | (((x >>> 8) & 0xff0000) * 0x0101), - toABGR: (x) => (x & 0xff000000) | (((x >>> 8) & 0xff) * 0x010101) + toABGR: (x) => ((x & 0xff000000) | (((x >>> 8) & 0xff) * 0x010101)) >>> 0, }); export const RGB565 = defPackedFormat({ @@ -111,8 +113,8 @@ export const RGB565 = defPackedFormat({ channels: [ { size: 5, lane: Lane.RED }, { size: 6, lane: Lane.GREEN }, - { size: 5, lane: Lane.BLUE } - ] + { size: 5, lane: Lane.BLUE }, + ], }); export const ARGB1555 = defPackedFormat({ @@ -123,8 +125,8 @@ export const ARGB1555 = defPackedFormat({ { size: 1, lane: Lane.ALPHA }, { size: 5, lane: Lane.RED }, { size: 5, lane: Lane.GREEN }, - { size: 5, lane: Lane.BLUE } - ] + { size: 5, lane: Lane.BLUE }, + ], }); export const ARGB4444 = defPackedFormat({ @@ -135,8 +137,8 @@ export const ARGB4444 = defPackedFormat({ { size: 4, lane: Lane.ALPHA }, { size: 4, lane: Lane.RED }, { size: 4, lane: Lane.GREEN }, - { size: 4, lane: Lane.BLUE } - ] + { size: 4, lane: Lane.BLUE }, + ], }); export const RGB888 = defPackedFormat({ @@ -145,8 +147,8 @@ export const RGB888 = defPackedFormat({ channels: [ { size: 8, lane: Lane.RED }, { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.BLUE } - ] + { size: 8, lane: Lane.BLUE }, + ], }); export const ARGB8888 = defPackedFormat({ @@ -157,8 +159,8 @@ export const ARGB8888 = defPackedFormat({ { size: 8, lane: Lane.ALPHA }, { size: 8, lane: Lane.RED }, { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.BLUE } - ] + { size: 8, lane: Lane.BLUE }, + ], }); export const BGR888 = defPackedFormat({ @@ -167,10 +169,10 @@ export const BGR888 = defPackedFormat({ channels: [ { size: 8, lane: Lane.BLUE }, { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.RED } + { size: 8, lane: Lane.RED }, ], fromABGR: (x) => x & 0xffffff, - toABGR: (x) => 0xff000000 | x + toABGR: (x) => 0xff000000 | x, }); export const ABGR8888 = defPackedFormat({ @@ -181,8 +183,125 @@ export const ABGR8888 = defPackedFormat({ { size: 8, lane: Lane.ALPHA }, { size: 8, lane: Lane.BLUE }, { size: 8, lane: Lane.GREEN }, - { size: 8, lane: Lane.RED } + { size: 8, lane: Lane.RED }, ], fromABGR: (x) => x, - toABGR: (x) => x + toABGR: (x) => x, +}); + +export const defFloatFormat = (fmt: FloatFormatSpec) => { + const chan = fmt.channels; + const chanShift = chan.reduce( + (acc, ch) => ((acc[ch] = (3 - ch) << 3), acc), + >{} + ); + const res = { + ...fmt, + size: chan.length, + shift: chanShift, + __float: true, + }; + const to = (col: NumericArray, i: number) => + ((col[i] * 0xff + 0.5) | 0) << chanShift[chan[i]]; + const from = (col: number, i: number) => + ((col >>> chanShift[chan[i]]) & 0xff) / 0xff; + switch (chan.length) { + case 1: + if (fmt.gray) { + res.toABGR = (col) => + ((((col[0] * 0xff + 0.5) | 0) * 0x010101) | 0xff000000) >>> + 0; + res.fromABGR = (col, out = []) => ( + (out[0] = luminanceABGR(col) / 0xff), out + ); + } else { + res.toABGR = (col) => { + let out = fmt.alpha ? 0 : 0xff000000; + out |= to(col, 0); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + return out; + }; + } + break; + case 2: + if (fmt.gray) { + const gray = ~~(chan[0] === Lane.ALPHA); + const alpha = gray ^ 1; + res.toABGR = (col) => { + let out = ((col[gray] * 0xff + 0.5) | 0) * 0x010101; + out |= ((col[alpha] * 0xff + 0.5) | 0) << 24; + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[gray] = luminanceABGR(col) / 0xff; + out[alpha] = from(col, alpha); + return out; + }; + } else { + res.toABGR = (col) => { + let out = fmt.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + return out; + }; + } + break; + case 3: + res.toABGR = (col) => { + let out = fmt.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + out |= to(col, 2); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + out[2] = from(col, 2); + return out; + }; + break; + case 4: + res.toABGR = (col) => { + let out = fmt.alpha ? 0 : 0xff000000; + out |= to(col, 0); + out |= to(col, 1); + out |= to(col, 2); + out |= to(col, 3); + return out >>> 0; + }; + res.fromABGR = (col, out = []) => { + out[0] = from(col, 0); + out[1] = from(col, 1); + out[2] = from(col, 2); + out[3] = from(col, 3); + return out; + }; + break; + } + return res; +}; + +export const FLOAT_GRAY = defFloatFormat({ + gray: true, + channels: [Lane.RED], +}); + +export const FLOAT_GRAY_ALPHA = defFloatFormat({ + gray: true, + alpha: true, + channels: [Lane.RED, Lane.ALPHA], +}); + +export const FLOAT_RGBA = defFloatFormat({ + alpha: true, + channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], }); diff --git a/packages/pixel/src/index.ts b/packages/pixel/src/index.ts index eff49796a0..2afdfd8b04 100644 --- a/packages/pixel/src/index.ts +++ b/packages/pixel/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./canvas"; export * from "./codegen"; +export * from "./float"; export * from "./format"; export * from "./packed"; export * from "./utils"; diff --git a/packages/pixel/src/packed.ts b/packages/pixel/src/packed.ts index b01f23d86e..7ea0845a41 100644 --- a/packages/pixel/src/packed.ts +++ b/packages/pixel/src/packed.ts @@ -9,6 +9,7 @@ import { BlendFnInt, BlitOpts, Lane, + PackedChannel, PackedFormat, PackedFormatSpec, } from "./api"; @@ -38,6 +39,21 @@ const CTORS: IObjectOf = { [Type.U32]: Uint32Array, }; +/** + * Syntax sugar for {@link PackedBuffer} ctor. + * + * @param w - + * @param h - + * @param fmt - + * @param pixels - + */ +export const buffer = ( + w: number, + h: number, + fmt: PackedFormat | PackedFormatSpec, + pixels?: UIntArray +) => new PackedBuffer(w, h, fmt, pixels); + export class PackedBuffer { static fromImage( img: HTMLImageElement, @@ -81,7 +97,7 @@ export class PackedBuffer { ) { this.width = w; this.height = h; - this.format = (fmt).__compiled + this.format = (fmt).__packed ? fmt : defPackedFormat(fmt); this.pixels = pixels || new CTORS[fmt.type](w * h); @@ -113,7 +129,7 @@ export class PackedBuffer { } getChannelAt(x: number, y: number, id: number, normalized = false) { - const chan = ensureChannel(this.format, id); + const chan = ensureChannel(this.format, id); const col = this.getAt(x, y); return normalized ? chan.float(col) : chan.int(col); } @@ -125,7 +141,7 @@ export class PackedBuffer { col: number, normalized = false ) { - const chan = ensureChannel(this.format, id); + const chan = ensureChannel(this.format, id); const src = this.getAt(x, y); normalized ? chan.setFloat(src, col) : chan.setInt(src, col); return this; @@ -187,7 +203,7 @@ export class PackedBuffer { blitCanvas(canvas: HTMLCanvasElement, x = 0, y = 0) { const ctx = canvas.getContext("2d")!; - const idata = ctx.getImageData(x, y, this.width, this.height); + const idata = new ImageData(this.width, this.height); const dest = new Uint32Array(idata.data.buffer); const src = this.pixels; const fmt = this.format.toABGR; @@ -222,7 +238,7 @@ export class PackedBuffer { } getChannel(id: number) { - const chan = ensureChannel(this.format, id); + const chan = ensureChannel(this.format, id); const buf = new PackedBuffer(this.width, this.height, { type: chan.size > 16 ? Type.U32 : chan.size > 8 ? Type.U16 : Type.U8, @@ -241,7 +257,7 @@ export class PackedBuffer { } setChannel(id: number, src: PackedBuffer | number) { - const chan = ensureChannel(this.format, id); + const chan = ensureChannel(this.format, id); const dbuf = this.pixels; const set = chan.setInt; if (isNumber(src)) { @@ -304,18 +320,3 @@ export class PackedBuffer { return this; } } - -/** - * Syntax sugar for {@link PackedBuffer} ctor. - * - * @param w - - * @param h - - * @param fmt - - * @param pixels - - */ -export const buffer = ( - w: number, - h: number, - fmt: PackedFormat | PackedFormatSpec, - pixels?: UIntArray -) => new PackedBuffer(w, h, fmt, pixels); diff --git a/packages/pixel/src/utils.ts b/packages/pixel/src/utils.ts index b4feca0502..b9c6b2c01a 100644 --- a/packages/pixel/src/utils.ts +++ b/packages/pixel/src/utils.ts @@ -1,12 +1,6 @@ -import { - assert, - Fn, - Fn2, - TypedArray, - UIntArray -} from "@thi.ng/api"; +import { assert, Fn, Fn2, TypedArray, UIntArray } from "@thi.ng/api"; import { clamp } from "@thi.ng/math"; -import type { BlitOpts, PackedFormat } from "./api"; +import type { BlitOpts, PackedFormat, FloatFormat } from "./api"; /** @internal */ export const ensureSize = ( @@ -17,7 +11,7 @@ export const ensureSize = ( ) => assert(pixels.length >= width * height * stride, "pixel buffer too small"); /** @internal */ -export const ensureChannel = (fmt: PackedFormat, id: number) => { +export const ensureChannel = (fmt: PackedFormat | FloatFormat, id: number) => { const chan = fmt.channels[id]; assert(chan != null, `invalid channel ID: ${id}`); return chan; @@ -38,6 +32,10 @@ export const clampRegion = ( dx = 0, dy = 0 ) => { + sx |= 0; + sy |= 0; + w |= 0; + h |= 0; sx < 0 && ((w += sx), (dx -= sx), (sx = 0)); sy < 0 && ((h += sy), (dy -= sy), (sy = 0)); return [sx, sy, clamp(w, 0, maxw - sx), clamp(h, 0, maxh - sy), dx, dy]; From 4475fc14c65029e88a7216519350527fa3d2c3dc Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Tue, 26 May 2020 18:51:24 +0100 Subject: [PATCH 20/43] feat(pixel): add dither support for int buffers/formats --- packages/pixel/src/api.ts | 18 ++++++ packages/pixel/src/dither.ts | 104 +++++++++++++++++++++++++++++++++++ packages/pixel/src/format.ts | 6 +- packages/pixel/src/index.ts | 1 + packages/pixel/src/packed.ts | 54 ++++++++++++++++++ 5 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 packages/pixel/src/dither.ts diff --git a/packages/pixel/src/api.ts b/packages/pixel/src/api.ts index 5e36ac726d..636dd5e1b4 100644 --- a/packages/pixel/src/api.ts +++ b/packages/pixel/src/api.ts @@ -126,6 +126,16 @@ export interface PackedChannel { * Normalized float accessor */ setFloat: ChannelSetter; + /** + * Applies ordered dithering to given channel value. + */ + dither: ( + mat: BayerMatrix, + steps: number, + x: number, + y: number, + val: number + ) => number; } /** @@ -324,3 +334,11 @@ export interface BlitOpts { */ h: number; } + +export type BayerSize = 1 | 2 | 4 | 8 | 16 | 32 | 64; + +export interface BayerMatrix { + mat: number[][]; + invSize: number; + mask: number; +} diff --git a/packages/pixel/src/dither.ts b/packages/pixel/src/dither.ts new file mode 100644 index 0000000000..078513ca27 --- /dev/null +++ b/packages/pixel/src/dither.ts @@ -0,0 +1,104 @@ +import type { NumericArray } from "@thi.ng/api"; +import { clamp } from "@thi.ng/math"; +import type { BayerMatrix, BayerSize } from "./api"; + +const init = ( + x: number, + y: number, + size: number, + val: number, + step: number, + mat: number[][] +) => { + if (size === 1) { + !mat[y] && (mat[y] = []); + mat[y][x] = val; + return mat; + } + size >>= 1; + const step4 = step << 2; + init(x, y, size, val, step4, mat); + init(x + size, y + size, size, val + step, step4, mat); + init(x + size, y, size, val + step * 2, step4, mat); + init(x, y + size, size, val + step * 3, step4, mat); + return mat; +}; + +/** + * Creates a Bayer matrix of given kernel size (power of 2) for ordered + * dithering and use with {@link ditherPixels} + * + * @remarks + * Reference: + * - https://en.wikipedia.org/wiki/Ordered_dithering + * + * @param size + */ +export const defBayer = (size: BayerSize): BayerMatrix => ({ + mat: init(0, 0, size, 0, 1, []), + invSize: 1 / (size * size), + mask: size - 1, +}); + +/** + * Single-channel/value ordered dither using provided Bayer matrix. + * + * @param mat - matrix + * @param dsteps - number of dest colors + * @param drange - dest color range + * @param srange - src color range + * @param x - x pos + * @param y - y pos + * @param val - src value + */ +export const orderedDither = ( + { mat, mask, invSize }: BayerMatrix, + dsteps: number, + drange: number, + srange: number, + x: number, + y: number, + val: number +) => { + val = + (dsteps * (val / srange) + mat[y & mask][x & mask] * invSize - 0.5) | 0; + dsteps--; + return clamp(val, 0, dsteps) * ((drange - 1) / dsteps); +}; + +/** + * Applies ordered dither to given single-channel raw pixel array `src` + * and writes results to `dest` (will be created if `null`). + * + * @remarks + * Also see {@link defBayer} for Bayer matrix creation. + * + * @param dest + * @param src + * @param width + * @param height + * @param mat - bayer dither matrix + * @param dsteps - target number of color steps + * @param drange - target color resolution (e.g. 256) + * @param srange - source color resolution + */ +export const ditherPixels = ( + dest: NumericArray | null, + src: NumericArray, + width: number, + height: number, + mat: BayerMatrix, + dsteps: number, + drange: number, + srange: number +) => { + !dest && (dest = src.slice()); + drange--; + for (let y = 0, i = 0; y < height; y++) { + for (let x = 0; x < width; x++) { + dest[i] = orderedDither(mat, dsteps, drange, srange, x, y, src[i]); + i++; + } + } + return dest; +}; diff --git a/packages/pixel/src/format.ts b/packages/pixel/src/format.ts index e58107f643..8b7904b533 100644 --- a/packages/pixel/src/format.ts +++ b/packages/pixel/src/format.ts @@ -10,6 +10,7 @@ import { PackedFormatSpec, } from "./api"; import { compileFromABGR, compileToABGR } from "./codegen"; +import { orderedDither } from "./dither"; import { luminanceABGR } from "./utils"; const defChannel = ( @@ -17,7 +18,8 @@ const defChannel = ( idx: number, shift: number ): PackedChannel => { - const mask0 = (1 << ch.size) - 1; + const num = 1 << ch.size; + const mask0 = num - 1; const maskA = (mask0 << shift) >>> 0; const invMask = ~maskA >>> 0; const lane = ch.lane != null ? ch.lane : idx; @@ -35,6 +37,8 @@ const defChannel = ( setInt, float: (x) => int(x) / mask0, setFloat: (src, x) => setInt(src, clamp01(x) * mask0), + dither: (mat, steps, x, y, val) => + orderedDither(mat, steps, num, num, x, y, val), }; }; diff --git a/packages/pixel/src/index.ts b/packages/pixel/src/index.ts index 2afdfd8b04..41b026a323 100644 --- a/packages/pixel/src/index.ts +++ b/packages/pixel/src/index.ts @@ -1,6 +1,7 @@ export * from "./api"; export * from "./canvas"; export * from "./codegen"; +export * from "./dither"; export * from "./float"; export * from "./format"; export * from "./packed"; diff --git a/packages/pixel/src/packed.ts b/packages/pixel/src/packed.ts index 7ea0845a41..1c89025440 100644 --- a/packages/pixel/src/packed.ts +++ b/packages/pixel/src/packed.ts @@ -6,6 +6,8 @@ import { premultiplyInt, } from "@thi.ng/porter-duff"; import { + BayerMatrix, + BayerSize, BlendFnInt, BlitOpts, Lane, @@ -15,6 +17,7 @@ import { } from "./api"; import { canvasPixels, imageCanvas } from "./canvas"; import { compileGrayFromABGR, compileGrayToABGR } from "./codegen"; +import { defBayer } from "./dither"; import { ABGR8888, defPackedFormat } from "./format"; import { clampRegion, @@ -319,4 +322,55 @@ export class PackedBuffer { } return this; } + + /** + * Applies in-place, ordered dithering using provided dither matrix + * (or matrix size) and desired number of dither levels, optionally + * specified individually (per channel). Each channel is be + * processed independently. Channels can be excluded from dithering + * by setting their target size to zero or negative numbers. + * + * @remarks + * A `size` of 1 will result in simple posterization of each + * channel. The `numColors` value(s) MUST be in the `[0 .. + * numColorsInChannel]` interval. + * + * Also see: {@link defBayer}, {@link ditherPixels}. + * + * @param size - dither matrix/size + * @param numColors - num target colors/steps + */ + dither(size: BayerSize | BayerMatrix, numColors: number | number[]) { + const { pixels, format, width } = this; + const steps = isNumber(numColors) + ? new Array(format.channels.length).fill(numColors) + : numColors; + const mat = isNumber(size) ? defBayer(size) : size; + for ( + let i = 0, + n = pixels.length, + nc = format.channels.length, + x = 0, + y = 0; + i < n; + i++ + ) { + let col = pixels[i]; + for (let j = 0; j < nc; j++) { + const ch = format.channels[j]; + const cs = steps[j]; + cs > 0 && + (col = ch.setInt( + col, + ch.dither(mat, cs, x, y, ch.int(col)) + )); + } + pixels[i] = col; + if (++x === width) { + x = 0; + y++; + } + } + return this; + } } From 9239d6fbf4de66300ed924b9de9a0fa67df0235c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 13:03:00 +0100 Subject: [PATCH 21/43] feat(transducers): add rangeNd(), add/update tests --- packages/transducers/src/index.ts | 1 + packages/transducers/src/iter/permutations.ts | 2 +- packages/transducers/src/iter/range-nd.ts | 48 +++++++ packages/transducers/src/iter/range.ts | 2 +- packages/transducers/test/range.ts | 128 ++++++++++++++++++ packages/transducers/test/range2d.ts | 48 ------- 6 files changed, 179 insertions(+), 50 deletions(-) create mode 100644 packages/transducers/src/iter/range-nd.ts create mode 100644 packages/transducers/test/range.ts delete mode 100644 packages/transducers/test/range2d.ts diff --git a/packages/transducers/src/index.ts b/packages/transducers/src/index.ts index f30b8f1f82..6a9267e02f 100644 --- a/packages/transducers/src/index.ts +++ b/packages/transducers/src/index.ts @@ -126,6 +126,7 @@ export * from "./iter/permutations"; export * from "./iter/range"; export * from "./iter/range2d"; export * from "./iter/range3d"; +export * from "./iter/range-nd"; export * from "./iter/repeat"; export * from "./iter/repeatedly"; export * from "./iter/reverse"; diff --git a/packages/transducers/src/iter/permutations.ts b/packages/transducers/src/iter/permutations.ts index 9160eed5cf..a7add9342e 100644 --- a/packages/transducers/src/iter/permutations.ts +++ b/packages/transducers/src/iter/permutations.ts @@ -84,7 +84,7 @@ export function* permutations(...src: any[]): IterableIterator { * // [1, 0], [1, 1], [1, 2], * // [2, 0], [2, 1], [2, 2] ] * - * [...permutationsN(2, 3, [10, 20])] + * [...permutationsN(2, 2, [10, 20])] * // [ [ 10, 20 ], [ 10, 21 ], [ 11, 20 ], [ 11, 21 ] ] * ``` * diff --git a/packages/transducers/src/iter/range-nd.ts b/packages/transducers/src/iter/range-nd.ts new file mode 100644 index 0000000000..5b0f8ace3e --- /dev/null +++ b/packages/transducers/src/iter/range-nd.ts @@ -0,0 +1,48 @@ +import type { NumericArray } from "@thi.ng/api"; +import { map } from "../xform/map"; +import { permutations } from "./permutations"; +import { range, Range } from "./range"; +import { zip } from "./zip"; + +/** + * If called with one vector, yields an iterator for the n-dimensional + * interval: `[[0, 0,...] .. [x, y,...])`. If called with two vectors, + * the first vector defines the inclusive interval start and the 2nd + * vector the exclusive interval end. Each dimension can also contain + * negative values. + * + * @example + * ```ts + * [...rangeNd([2])] + * // [ [ 0 ], [ 1 ] ] + * + * [...rangeNd([2, -2])] + * // [ [ 0, 0 ], [ 0, -1 ], [ 1, 0 ], [ 1, -1 ] ] + * + * [...rangeNd([-1,2], [1,3])] + * // [ [ -1, 2 ], [ -1, 3 ], [ 0, 2 ], [ 0, 3 ] ] + * + * [...rangeNd([2, 2, 2])] + * // [ + * // [ 0, 0, 0 ], + * // [ 0, 0, 1 ], + * // [ 0, 1, 0 ], + * // [ 0, 1, 1 ], + * // [ 1, 0, 0 ], + * // [ 1, 0, 1 ], + * // [ 1, 1, 0 ], + * // [ 1, 1, 1 ] + * // ] + * ``` + * + * @param vec + */ +export const rangeNd = (min: NumericArray, max?: NumericArray) => + permutations.apply( + null, + ( + (max + ? [...map(([a, b]) => range(a, b), zip(min, max))] + : [...map(range, min)]) + ) + ); diff --git a/packages/transducers/src/iter/range.ts b/packages/transducers/src/iter/range.ts index 859518627e..63828df5f8 100644 --- a/packages/transducers/src/iter/range.ts +++ b/packages/transducers/src/iter/range.ts @@ -1,5 +1,5 @@ -import { isReduced, Reduced } from "../reduced"; import type { IReducible, ReductionFn } from "../api"; +import { isReduced, Reduced } from "../reduced"; export function range(): Range; export function range(to: number): Range; diff --git a/packages/transducers/test/range.ts b/packages/transducers/test/range.ts new file mode 100644 index 0000000000..d3affdf4d0 --- /dev/null +++ b/packages/transducers/test/range.ts @@ -0,0 +1,128 @@ +import { range2d } from "../src/iter/range2d"; + +import * as assert from "assert"; +import { rangeNd } from "../src"; + +describe("range2d", () => { + it("forward", () => { + assert.deepEqual( + [...range2d(0, 3, 1, 3)], + [ + [0, 1], + [1, 1], + [2, 1], + [0, 2], + [1, 2], + [2, 2], + ] + ); + }); + it("forward w/ step", () => { + assert.deepEqual( + [...range2d(0, 5, 1, 6, 2, 3)], + [ + [0, 1], + [2, 1], + [4, 1], + [0, 4], + [2, 4], + [4, 4], + ] + ); + }); + it("reverse", () => { + assert.deepEqual( + [...range2d(3, 0, 3, 1)], + [ + [3, 3], + [2, 3], + [1, 3], + [3, 2], + [2, 2], + [1, 2], + ] + ); + }); + it("reverse w/ step", () => { + assert.deepEqual( + [...range2d(5, 0, 6, 1, -2, -3)], + [ + [5, 6], + [3, 6], + [1, 6], + [5, 3], + [3, 3], + [1, 3], + ] + ); + }); + it("empty w/ wrong step sign (x)", () => { + assert.deepEqual([...range2d(0, 1, 0, 1, -1, 1)], []); + }); + it("empty w/ wrong step sign (y)", () => { + assert.deepEqual([...range2d(0, 1, 0, 1, 1, -1)], []); + }); + it("single output", () => { + assert.deepEqual([...range2d(0, 1, 0, 1)], [[0, 0]]); + }); +}); + +describe("rangeNd", () => { + it("0d", () => { + assert.deepEqual([...rangeNd([])], []); + }); + + it("1d", () => { + assert.deepEqual([...rangeNd([2])], [[0], [1]]); + assert.deepEqual([...rangeNd([-2], [2])], [[-2], [-1], [0], [1]]); + }); + + it("2d", () => { + assert.deepEqual( + [...rangeNd([2, -2])], + [ + [0, 0], + [0, -1], + [1, 0], + [1, -1], + ] + ); + assert.deepEqual( + [...rangeNd([-2, -2], [2, 2])], + [ + [-2, -2], + [-2, -1], + [-2, 0], + [-2, 1], + [-1, -2], + [-1, -1], + [-1, 0], + [-1, 1], + [0, -2], + [0, -1], + [0, 0], + [0, 1], + [1, -2], + [1, -1], + [1, 0], + [1, 1], + ] + ); + }); + + it("3d", () => { + assert.deepEqual( + [...rangeNd([2, 2, 2])], + [ + [0, 0, 0], + [0, 0, 1], + [0, 1, 0], + [0, 1, 1], + [1, 0, 0], + [1, 0, 1], + [1, 1, 0], + [1, 1, 1], + ] + ); + }); +}); diff --git a/packages/transducers/test/range2d.ts b/packages/transducers/test/range2d.ts deleted file mode 100644 index 605d73bafd..0000000000 --- a/packages/transducers/test/range2d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { range2d } from "../src/iter/range2d"; - -import * as assert from "assert"; - -describe("range2d", () => { - it("forward", () => { - assert.deepEqual( - [...range2d(0, 3, 1, 3)], - [[0, 1], [1, 1], [2, 1], [0, 2], [1, 2], [2, 2]] - ); - }); - it("forward w/ step", () => { - assert.deepEqual( - [...range2d(0, 5, 1, 6, 2, 3)], - [[0, 1], [2, 1], [4, 1], [0, 4], [2, 4], [4, 4]] - ); - }); - it("reverse", () => { - assert.deepEqual( - [...range2d(3, 0, 3, 1)], - [[3, 3], [2, 3], [1, 3], [3, 2], [2, 2], [1, 2]] - ); - }); - it("reverse w/ step", () => { - assert.deepEqual( - [...range2d(5, 0, 6, 1, -2, -3)], - [[5, 6], [3, 6], [1, 6], [5, 3], [3, 3], [1, 3]] - ); - }); - it("empty w/ wrong step sign (x)", () => { - assert.deepEqual( - [...range2d(0, 1, 0, 1, -1, 1)], - [] - ); - }); - it("empty w/ wrong step sign (y)", () => { - assert.deepEqual( - [...range2d(0, 1, 0, 1, 1, -1)], - [] - ); - }); - it("single output", () => { - assert.deepEqual( - [...range2d(0, 1, 0, 1)], - [[0, 0]] - ); - }); -}); From 353baffacae7b1e38ac8aa2397dfbf36bba9cf2f Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 13:03:23 +0100 Subject: [PATCH 22/43] docs(transducers): update readme --- packages/transducers/README.md | 9 +++++---- packages/transducers/tpl.readme.md | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/transducers/README.md b/packages/transducers/README.md index 5bc39956be..ef68667cb5 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -58,9 +58,9 @@ This project is part of the Lightweight transducer implementations for ES6 / TypeScript. -This library provides altogether ~120 transducers, reducers, sequence -generators (iterators) and other supporting functions for composing data -transformation pipelines. +This library provides altogether ~130 transducers, reducers, sequence +generators (ES6 generators/iterators) and additional supporting +functions for composing data transformation pipelines. The overall concept and many of the core functions offered here are directly inspired by the original Clojure implementation by Rich Hickey, @@ -151,7 +151,7 @@ yarn add @thi.ng/transducers ``` -Package sizes (gzipped, pre-treeshake): ESM: 7.93 KB / CJS: 8.45 KB / UMD: 7.65 KB +Package sizes (gzipped, pre-treeshake): ESM: 7.97 KB / CJS: 8.49 KB / UMD: 7.67 KB ## Dependencies @@ -890,6 +890,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4)) - [range](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range.ts) - [range2d](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range2d.ts) - [range3d](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range3d.ts) +- [rangeNd](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range-nd.ts) - [repeat](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/repeat.ts) - [repeatedly](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/repeatedly.ts) - [reverse](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/reverse.ts) diff --git a/packages/transducers/tpl.readme.md b/packages/transducers/tpl.readme.md index 56ed0a5ae7..bf474e4426 100644 --- a/packages/transducers/tpl.readme.md +++ b/packages/transducers/tpl.readme.md @@ -13,9 +13,9 @@ This project is part of the ${pkg.description} -This library provides altogether ~120 transducers, reducers, sequence -generators (iterators) and other supporting functions for composing data -transformation pipelines. +This library provides altogether ~130 transducers, reducers, sequence +generators (ES6 generators/iterators) and additional supporting +functions for composing data transformation pipelines. The overall concept and many of the core functions offered here are directly inspired by the original Clojure implementation by Rich Hickey, @@ -769,6 +769,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4)) - [range](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range.ts) - [range2d](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range2d.ts) - [range3d](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range3d.ts) +- [rangeNd](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/range-nd.ts) - [repeat](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/repeat.ts) - [repeatedly](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/repeatedly.ts) - [reverse](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/iter/reverse.ts) From 62cd31a87236daaf4089543aa49e847827bb8b55 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 14:29:02 +0100 Subject: [PATCH 23/43] feat(poisson): add stratifiedGrid(), restructure pkg --- packages/poisson/src/api.ts | 95 +++++++++++++++++++++ packages/poisson/src/index.ts | 127 +---------------------------- packages/poisson/src/poisson.ts | 49 +++++++++++ packages/poisson/src/stratified.ts | 22 +++++ 4 files changed, 169 insertions(+), 124 deletions(-) create mode 100644 packages/poisson/src/api.ts create mode 100644 packages/poisson/src/poisson.ts create mode 100644 packages/poisson/src/stratified.ts diff --git a/packages/poisson/src/api.ts b/packages/poisson/src/api.ts new file mode 100644 index 0000000000..635cbd8d95 --- /dev/null +++ b/packages/poisson/src/api.ts @@ -0,0 +1,95 @@ +import type { ISpatialSet } from "@thi.ng/geom-api"; +import type { IRandom } from "@thi.ng/random"; +import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; + +export type PointGenerator = (rnd: IRandom) => Vec; +export type DensityFunction = (pos: ReadonlyVec) => number; + +/** + * Options for {@link samplePoisson}. + */ +export interface PoissonOpts { + /** + * Point generator function. Responsible for producing a new + * candidate point within user defined bounds using provided RNG. + */ + points: PointGenerator; + /** + * Density field function. Called for each new candidate point + * created by point generator and should return the poisson disc + * exclusion radius for the given point location. The related + * candidate point can only be placed if no other points are already + * existing within the given radius/distance. If this option is + * given as number, uses this value to create a uniform distance + * field. + */ + density: DensityFunction | number; + /** + * Spatial indexing implementation for nearest neighbor searches of + * candidate points. Currently only {@link @thi.ng/geom-accel} types + * are supported and must be pre-initialized. The data structure is + * used to store all successful sample points. + * + * Pre-seeding the data structure allows already indexed points to + * participate in the sampling process and so can be used to define + * exclusion zones. It also can be used as mechanism for progressive + * sampling, i.e. generating a large number of samples and + * distributing the process over multiple invocations of smaller + * sample sizes (see `max` option) to avoid long delays. + */ + index: ISpatialSet; + /** + * Max number of samples to produce. Must be given, no default. + */ + max: number; + /** + * Step distance for the random walk each failed candidate point is + * undergoing. This distance should be adjusted depending on overall + * sampling area/bounds. + * + * @defaultValue 1 + */ + jitter?: number; + /** + * Number of random walk steps performed before giving up on a + * candidate point. Increasing this value improves overall quality. + * + * @defaultValue 1 + */ + iter?: number; + /** + * Number of allowed failed consecutive candidate points before + * stopping entire sampling process (most likely due to not being + * able to place any further points). As with the `iter` param, + * increasing this value improves overall quality, especially in + * dense regions with small radii. + * + * @defaultValue 500 + */ + quality?: number; + /** + * Random number generator instance. + * + * @defaultValue {@link @thi.ng/random#SYSTEM} (aka Math.random) + */ + rnd?: IRandom; +} + +export interface StratifiedGridOpts { + /** + * nD vector defining grid size (in cells) + */ + dim: ReadonlyVec; + /** + * Number of samples per grid cell + * + * @defaultValue 1 + */ + samples?: number; + /** + * Random number generator instance. + * + * @defaultValue {@link @thi.ng/random#SYSTEM} (aka Math.random) + */ + rnd?: IRandom; +} diff --git a/packages/poisson/src/index.ts b/packages/poisson/src/index.ts index 2e93b2dc0a..cf05f4522c 100644 --- a/packages/poisson/src/index.ts +++ b/packages/poisson/src/index.ts @@ -1,124 +1,3 @@ -import { isNumber } from "@thi.ng/checks"; -import { IRandom, SYSTEM } from "@thi.ng/random"; -import { jitter as _jitter, ReadonlyVec, Vec } from "@thi.ng/vectors"; -import type { ISpatialSet } from "@thi.ng/geom-api"; - -export type PointGenerator = (rnd: IRandom) => Vec; -export type DensityFunction = (pos: ReadonlyVec) => number; - -/** - * Options for {@link samplePoisson}. - */ -export interface PoissonOpts { - /** - * Point generator function. Responsible for producing a new - * candidate point within user defined bounds using provided RNG. - */ - points: PointGenerator; - /** - * Density field function. Called for each new candidate point - * created by point generator and should return the poisson disc - * exclusion radius for the given point location. The related - * candidate point can only be placed if no other points are already - * existing within the given radius/distance. If this option is - * given as number, uses this value to create a uniform distance - * field. - */ - density: DensityFunction | number; - /** - * Spatial indexing implementation for nearest neighbor searches of - * candidate points. Currently only - * {@link @thi.ng/geom-accel#KdTree} is available and must be - * pre-initialized to given dimensions prior to calling - * {@link samplePoisson}. - * - * The data structure is used to store all successful sample points - * (as keys) incl. their exclusion radius (as value). - * - * Furthermore, pre-seeding the data structure allows already - * indexed points to participate in the sampling process and act as - * exclusion zones. It also can be used as mechanism for progressive - * sampling, i.e. generating a large number of samples and - * distributing the process over multiple invocations of smaller - * sample sizes (see `max` option) to avoid long delays. - */ - index: ISpatialSet; - /** - * Max number of samples to produce. Must be given, no default. - */ - max: number; - /** - * Step distance for the random walk each failed candidate point is - * undergoing. This distance should be adjusted depending on overall - * sampling area/bounds. - * - * @defaultValue 1 - */ - jitter?: number; - /** - * Number of random walk steps performed before giving up on a - * candidate point. Increasing this value improves overall quality. - * - * @defaultValue 1 - */ - iter?: number; - /** - * Number of allowed failed consecutive candidate points before - * stopping entire sampling process (most likely due to not being - * able to place any further points). As with the `iter` param, - * increasing this value improves overall quality, especially in - * dense regions with small radii. - * - * @defaultValue 500 - */ - quality?: number; - /** - * Random number generator instance. - * - * @defaultValue {@link @thi.ng/random#SYSTEM} (aka Math.random) - */ - rnd?: IRandom; -} - -/** - * - * @param opts - - */ -export const samplePoisson = (_opts: PoissonOpts) => { - const opts = { - rnd: SYSTEM, - iter: 1, - jitter: 1, - quality: 500, - ..._opts - }; - const { points, index, rnd, jitter, quality, density: _d } = opts; - const density = isNumber(_d) ? () => _d : _d; - const iter = Math.max(opts.iter, 1); - const samples: Vec[] = []; - let failed = 0; - let pos: Vec; - let d: number; - let i: number; - - outer: for (let num = opts.max; num > 0; ) { - pos = points(rnd); - d = density(pos); - i = iter; - while (i-- > 0) { - if (!index.has(pos, d)) { - index.add(pos, 0); - samples.push(pos); - failed = 0; - num--; - continue outer; - } - _jitter(null, pos, jitter, rnd); - } - if (++failed > quality) { - break; - } - } - - return samples; -}; +export * from "./api"; +export * from "./poisson"; +export * from "./stratified"; diff --git a/packages/poisson/src/poisson.ts b/packages/poisson/src/poisson.ts new file mode 100644 index 0000000000..c8139b8395 --- /dev/null +++ b/packages/poisson/src/poisson.ts @@ -0,0 +1,49 @@ +import { isNumber } from "@thi.ng/checks"; +import { SYSTEM } from "@thi.ng/random"; +import { jitter as _jitter, Vec } from "@thi.ng/vectors"; +import { PoissonOpts } from "./api"; + +/** + * Produces a number of Poisson-disk samples based on given + * configuration. + * + * @param opts - + */ +export const samplePoisson = (_opts: PoissonOpts) => { + const opts = { + rnd: SYSTEM, + iter: 1, + jitter: 1, + quality: 500, + ..._opts, + }; + const { points, index, rnd, jitter, quality, density: _d } = opts; + const density = isNumber(_d) ? () => _d : _d; + const iter = Math.max(opts.iter, 1); + const samples: Vec[] = []; + let failed = 0; + let pos: Vec; + let d: number; + let i: number; + + outer: for (let num = opts.max; num > 0; ) { + pos = points(rnd); + d = density(pos); + i = iter; + while (i-- > 0) { + if (!index.has(pos, d)) { + index.add(pos, 0); + samples.push(pos); + failed = 0; + num--; + continue outer; + } + _jitter(null, pos, jitter, rnd); + } + if (++failed > quality) { + break; + } + } + + return samples; +}; diff --git a/packages/poisson/src/stratified.ts b/packages/poisson/src/stratified.ts new file mode 100644 index 0000000000..308e3e28b4 --- /dev/null +++ b/packages/poisson/src/stratified.ts @@ -0,0 +1,22 @@ +import { SYSTEM } from "@thi.ng/random"; +import { mapcat, rangeNd, repeatedly } from "@thi.ng/transducers"; +import { add, random } from "@thi.ng/vectors"; +import { StratifiedGridOpts } from "./api"; + +/** + * Yields iterator of nD point samples of for given stratified grid + * config. + * + * @remarks + * All samples will be in `[[0,0,...] ...[dimx,dimy,...])` interval + * + * @param opts + */ +export const stratifiedGrid = (opts: StratifiedGridOpts) => { + const { rnd, samples } = { samples: 1, rnd: SYSTEM, ...opts }; + const tmp = new Array(opts.dim.length); + return mapcat( + (p) => repeatedly(() => add([], p, random(tmp, 0, 1, rnd)), samples), + rangeNd(opts.dim) + ); +}; From 1b6142855ac5af62c04dcbd1055a54b209ea6d1d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 14:29:57 +0100 Subject: [PATCH 24/43] build(poisson): update pkg meta & deps (transducers) --- packages/poisson/package.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/poisson/package.json b/packages/poisson/package.json index 5ac849d98f..a0192fb58e 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/poisson", "version": "1.0.17", - "description": "nD Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", + "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -46,6 +46,7 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/geom-api": "^1.0.17", "@thi.ng/random": "^1.4.9", + "@thi.ng/transducers": "^6.5.0", "@thi.ng/vectors": "^4.4.0", "tslib": "^1.12.0" }, @@ -57,13 +58,16 @@ "keywords": [ "2d", "3d", + "nd", "density", "ES6", + "grid", "points", - "poisson", + "poisson disc", "noise", "random", "sampling", + "stratified", "typescript", "vectors" ], From 8531b221bca5679b1cc85f834971e2f5e39270c3 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 14:30:36 +0100 Subject: [PATCH 25/43] docs(poisson): update readme, assets, examples --- assets/poisson/stratified-grid.png | Bin 0 -> 398995 bytes packages/poisson/README.md | 175 +++++++++++++++++------------ packages/poisson/tpl.readme.md | 170 ++++++++++++++++------------ 3 files changed, 202 insertions(+), 143 deletions(-) create mode 100644 assets/poisson/stratified-grid.png diff --git a/assets/poisson/stratified-grid.png b/assets/poisson/stratified-grid.png new file mode 100644 index 0000000000000000000000000000000000000000..e23fd5485ada1bff515aaea2b270dea6e96e84f9 GIT binary patch literal 398995 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�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 z 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 Ef*LtZ(EtDd literal 0 HcmV?d00001 diff --git a/packages/poisson/README.md b/packages/poisson/README.md index 5aa8072c24..685ff2af83 100644 --- a/packages/poisson/README.md +++ b/packages/poisson/README.md @@ -16,6 +16,8 @@ This project is part of the - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) + - [Poisson disc sampling](#poisson-disc-sampling) + - [Stratified grid sampling](#stratified-grid-sampling) - [Authors](#authors) - [License](#license) @@ -23,17 +25,19 @@ This project is part of the ![example screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-voronoi.jpg) -nD [Poisson disk +nD Stratified grid and [Poisson disc sampling](https://en.wikipedia.org/wiki/Supersampling#Poisson_disc) with support for variable spatial density, custom PRNGs (via [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random)'s `IRandom` interface & implementations) and customizable quality settings. -Currently uses a [k-D -tree](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel/src/kdtree.ts#L57) -implementation to speed up the sampling process, but will be refactored -to support other, alternative spatial indexing mechanisms... +The Poisson disc sampler requires a spatial index and we recommend using +`KdTreeSet` from the +[@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) +package to speed up the sampling process, but other +[`ISpatialSet`-compatible](https://github.com/thi-ng/umbrella/blob/develop/packages/geom-api/src/accel.ts#L25) +indices are supported as well... ### Status @@ -58,13 +62,14 @@ yarn add @thi.ng/poisson ``` -Package sizes (gzipped, pre-treeshake): ESM: 337 bytes / CJS: 391 bytes / UMD: 501 bytes +Package sizes (gzipped, pre-treeshake): ESM: 455 bytes / CJS: 514 bytes / UMD: 617 bytes ## Dependencies - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/geom-api](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-api) - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) +- [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) - [tslib](https://github.com/thi-ng/umbrella/tree/develop/packages/undefined) @@ -84,87 +89,113 @@ A selection: [Generated API docs](https://docs.thi.ng/umbrella/poisson/) +### Poisson disc sampling + The package provides a single function `samplePoisson()` and the following options to customize the sampling process: -```ts -interface PoissonOpts { - /** - * Point generator function. Responsible for producing a new - * candidate point within user defined bounds using provided RNG. - */ - points: PointGenerator; - /** - * Density field function. Called for each new sample point created - * by point generator and should return the exclusion radius for - * given point location. If this option is given as number, uses - * this value to create a uniform distance field. - */ - density: DensityFunction | number; - /** - * Spatial indexing implementation. Currently only KdTree from - * thi.ng/geom-accel package is supported and must be - * pre-initialized to given dimensions. Furthermore, pre-seeding the - * tree allows already indexed points to participate in the sampling - * process and act as exclusion zones. - */ - accel: KdTree; - /** - * Max number of samples to produce. - */ - max: number; - /** - * Step distance for the random walk each failed candidate point is - * undergoing. This distance should be adjusted depending on overall - * sampling area/bounds. Default: 1 - */ - jitter?: number; - /** - * Number of random walk steps performed before giving up on a - * candidate point. Default: 5 - */ - iter?: number; - /** - * Number of allowed failed continuous candidate points before - * stopping entire sampling process. Increasing this value improves - * overall quality, especially in dense regions with small radii. - * Default: 500 - */ - quality?: number; - /** - * Random number generator instance. Default thi.ng/random/SYSTEM - * (aka Math.random) - */ - rnd?: IRandom; -} -``` +- **points**: Point generator function. Responsible for producing a new + candidate point within user defined bounds using provided RNG. +- **density**: Density field function. Called for each new candidate + point created by point generator and should return the poisson disc + exclusion radius for the given point location. The related candidate + point can only be placed if no other points are already existing + within the given radius/distance. If this option is given as number, + uses this value to create a uniform distance field. +- **index**: Spatial indexing implementation for nearest neighbor + searches of candidate points. Currently only + [@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) + types are supported. The data structure is used to store all + successful sample points. Furthermore, pre-seeding the data structure + allows already indexed points to participate in the sampling process + and so can be used to define exclusion zones. It also can be used as + mechanism for progressive sampling, i.e. generating a large number of + samples and distributing the process over multiple invocations of + smaller sample sizes (see `max` option) to avoid long delays. +- **max**: Max number of samples to produce. Must be given, no default. +- **jitter?**: Step distance for the random walk each failed + candidate point is undergoing. This distance should be adjusted + depending on overall sampling area/bounds. Default: 1 +- **iter?**: Number of random walk steps performed before giving up on a + candidate point. Increasing this value improves overall quality. + Default: 1 +- **quality?**: Number of allowed failed consecutive candidate points + before stopping entire sampling process (most likely due to not being + able to place any further points). As with the `iter` param, + increasing this value improves overall quality, especially in dense + regions with small radii. Default: 500 +- **rnd?**: Random number generator instance. Default: + [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) + `SYSTEM` (aka Math.random) ![example output](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/poisson.jpg) ```ts -import { samplePoisson } from "@thi.ng/poisson"; - -import { asSvg, svgDoc, circle } from "@thi.ng/geom"; -import { KdTree } from "@thi.ng/geom-accel"; +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; import { fit01 } from "@thi.ng/math"; -import { dist2, randMinMax2 } from "@thi.ng/vectors"; +import { samplePoisson } from "@thi.ng/poisson"; +import { dist, randMinMax2 } from "@thi.ng/vectors"; -accel = new KdTree(2); +const index = new KdTreeSet(2); -pts = samplePoisson({ - accel, - points: () => randMinMax2(null, [0, 0], [500, 500]), - density: (p) => fit01(Math.pow(Math.max(dist2(p, [250, 250]) / 250, 0), 2), 2, 10), - iter: 5, - max: 8000, - quality: 500 +const pts = samplePoisson({ + index, + points: () => randMinMax2(null, [0, 0], [500, 500]), + density: (p) => fit01(Math.pow(dist(p, [250, 250]) / 250, 2), 2, 10), + iter: 5, + max: 8000, + quality: 500, }); // use thi.ng/geom to visualize results // each circle's radius is set to distance to its nearest neighbor -circles = pts.map((p) => circle(p, dist2(p, accel.selectKeys(p, 2, 40)[1]) / 2)); +const circles = pts.map((p) => + circle(p, dist(p, index.queryKeys(p, 40, 2)[1]) / 2) +); -document.body.innerHTML = asSvg(svgDoc({ fill: "none", stroke: "red" }, ...circles)); +document.body.innerHTML = asSvg( + svgDoc({ fill: "none", stroke: "blue" }, ...circles) +); +``` + +### Stratified grid sampling + +The `stratifiedGrid` function can produce nD grid samples based on the following config options: + +- **dim**: nD vector defining grid size (in cells) +- **samples?**: Number of samples per grid cell (default: 1) +- **rnd?**: Random number generator instance. Default: + [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) + `SYSTEM` (aka Math.random) + +![example output](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/stratified-grid.png) + +```ts +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; +import { stratifiedGrid } from "@thi.ng/poisson"; +import { map } from "@thi.ng/transducers"; +import { dist } from "@thi.ng/vectors"; + +const index = new KdTreeSet(2); +index.into(stratifiedGrid({ dim: [50, 50], samples: 1 })); + +document.body.innerHTML = asSvg( + svgDoc( + { + width: 600, + height: 600, + fill: "none", + stroke: "blue", + "stroke-width": 0.1, + }, + ...map( + (p) => circle(p, dist(p, index.queryKeys(p, 2 * Math.SQRT2, 2)[1]) / 2), + index.keys() + ) + ) +); ``` ## Authors diff --git a/packages/poisson/tpl.readme.md b/packages/poisson/tpl.readme.md index 746e2a9b3e..271c24cd30 100644 --- a/packages/poisson/tpl.readme.md +++ b/packages/poisson/tpl.readme.md @@ -13,17 +13,19 @@ This project is part of the ![example screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/geom/geom-voronoi.jpg) -nD [Poisson disk +nD Stratified grid and [Poisson disc sampling](https://en.wikipedia.org/wiki/Supersampling#Poisson_disc) with support for variable spatial density, custom PRNGs (via [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random)'s `IRandom` interface & implementations) and customizable quality settings. -Currently uses a [k-D -tree](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel/src/kdtree.ts#L57) -implementation to speed up the sampling process, but will be refactored -to support other, alternative spatial indexing mechanisms... +The Poisson disc sampler requires a spatial index and we recommend using +`KdTreeSet` from the +[@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) +package to speed up the sampling process, but other +[`ISpatialSet`-compatible](https://github.com/thi-ng/umbrella/blob/develop/packages/geom-api/src/accel.ts#L25) +indices are supported as well... ${status} @@ -49,87 +51,113 @@ ${examples} ${docLink} +### Poisson disc sampling + The package provides a single function `samplePoisson()` and the following options to customize the sampling process: -```ts -interface PoissonOpts { - /** - * Point generator function. Responsible for producing a new - * candidate point within user defined bounds using provided RNG. - */ - points: PointGenerator; - /** - * Density field function. Called for each new sample point created - * by point generator and should return the exclusion radius for - * given point location. If this option is given as number, uses - * this value to create a uniform distance field. - */ - density: DensityFunction | number; - /** - * Spatial indexing implementation. Currently only KdTree from - * thi.ng/geom-accel package is supported and must be - * pre-initialized to given dimensions. Furthermore, pre-seeding the - * tree allows already indexed points to participate in the sampling - * process and act as exclusion zones. - */ - accel: KdTree; - /** - * Max number of samples to produce. - */ - max: number; - /** - * Step distance for the random walk each failed candidate point is - * undergoing. This distance should be adjusted depending on overall - * sampling area/bounds. Default: 1 - */ - jitter?: number; - /** - * Number of random walk steps performed before giving up on a - * candidate point. Default: 5 - */ - iter?: number; - /** - * Number of allowed failed continuous candidate points before - * stopping entire sampling process. Increasing this value improves - * overall quality, especially in dense regions with small radii. - * Default: 500 - */ - quality?: number; - /** - * Random number generator instance. Default thi.ng/random/SYSTEM - * (aka Math.random) - */ - rnd?: IRandom; -} -``` +- **points**: Point generator function. Responsible for producing a new + candidate point within user defined bounds using provided RNG. +- **density**: Density field function. Called for each new candidate + point created by point generator and should return the poisson disc + exclusion radius for the given point location. The related candidate + point can only be placed if no other points are already existing + within the given radius/distance. If this option is given as number, + uses this value to create a uniform distance field. +- **index**: Spatial indexing implementation for nearest neighbor + searches of candidate points. Currently only + [@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/develop/packages/geom-accel) + types are supported. The data structure is used to store all + successful sample points. Furthermore, pre-seeding the data structure + allows already indexed points to participate in the sampling process + and so can be used to define exclusion zones. It also can be used as + mechanism for progressive sampling, i.e. generating a large number of + samples and distributing the process over multiple invocations of + smaller sample sizes (see `max` option) to avoid long delays. +- **max**: Max number of samples to produce. Must be given, no default. +- **jitter?**: Step distance for the random walk each failed + candidate point is undergoing. This distance should be adjusted + depending on overall sampling area/bounds. Default: 1 +- **iter?**: Number of random walk steps performed before giving up on a + candidate point. Increasing this value improves overall quality. + Default: 1 +- **quality?**: Number of allowed failed consecutive candidate points + before stopping entire sampling process (most likely due to not being + able to place any further points). As with the `iter` param, + increasing this value improves overall quality, especially in dense + regions with small radii. Default: 500 +- **rnd?**: Random number generator instance. Default: + [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) + `SYSTEM` (aka Math.random) ![example output](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/poisson.jpg) ```ts -import { samplePoisson } from "@thi.ng/poisson"; - -import { asSvg, svgDoc, circle } from "@thi.ng/geom"; -import { KdTree } from "@thi.ng/geom-accel"; +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; import { fit01 } from "@thi.ng/math"; -import { dist2, randMinMax2 } from "@thi.ng/vectors"; +import { samplePoisson } from "@thi.ng/poisson"; +import { dist, randMinMax2 } from "@thi.ng/vectors"; -accel = new KdTree(2); +const index = new KdTreeSet(2); -pts = samplePoisson({ - accel, - points: () => randMinMax2(null, [0, 0], [500, 500]), - density: (p) => fit01(Math.pow(Math.max(dist2(p, [250, 250]) / 250, 0), 2), 2, 10), - iter: 5, - max: 8000, - quality: 500 +const pts = samplePoisson({ + index, + points: () => randMinMax2(null, [0, 0], [500, 500]), + density: (p) => fit01(Math.pow(dist(p, [250, 250]) / 250, 2), 2, 10), + iter: 5, + max: 8000, + quality: 500, }); // use thi.ng/geom to visualize results // each circle's radius is set to distance to its nearest neighbor -circles = pts.map((p) => circle(p, dist2(p, accel.selectKeys(p, 2, 40)[1]) / 2)); +const circles = pts.map((p) => + circle(p, dist(p, index.queryKeys(p, 40, 2)[1]) / 2) +); -document.body.innerHTML = asSvg(svgDoc({ fill: "none", stroke: "red" }, ...circles)); +document.body.innerHTML = asSvg( + svgDoc({ fill: "none", stroke: "blue" }, ...circles) +); +``` + +### Stratified grid sampling + +The `stratifiedGrid` function can produce nD grid samples based on the following config options: + +- **dim**: nD vector defining grid size (in cells) +- **samples?**: Number of samples per grid cell (default: 1) +- **rnd?**: Random number generator instance. Default: + [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) + `SYSTEM` (aka Math.random) + +![example output](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/poisson/stratified-grid.png) + +```ts +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; +import { stratifiedGrid } from "@thi.ng/poisson"; +import { map } from "@thi.ng/transducers"; +import { dist } from "@thi.ng/vectors"; + +const index = new KdTreeSet(2); +index.into(stratifiedGrid({ dim: [50, 50], samples: 1 })); + +document.body.innerHTML = asSvg( + svgDoc( + { + width: 600, + height: 600, + fill: "none", + stroke: "blue", + "stroke-width": 0.1, + }, + ...map( + (p) => circle(p, dist(p, index.queryKeys(p, 2 * Math.SQRT2, 2)[1]) / 2), + index.keys() + ) + ) +); ``` ## Authors From d5aab143ec0e3cae001af5a3804ff32e06c9c4ef Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 14:31:00 +0100 Subject: [PATCH 26/43] refactor(transducers): update rangeNd() arg types --- packages/transducers/src/iter/range-nd.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/transducers/src/iter/range-nd.ts b/packages/transducers/src/iter/range-nd.ts index 5b0f8ace3e..f0be4e43ed 100644 --- a/packages/transducers/src/iter/range-nd.ts +++ b/packages/transducers/src/iter/range-nd.ts @@ -1,4 +1,4 @@ -import type { NumericArray } from "@thi.ng/api"; +import type { ArrayLikeIterable } from "@thi.ng/api"; import { map } from "../xform/map"; import { permutations } from "./permutations"; import { range, Range } from "./range"; @@ -37,7 +37,10 @@ import { zip } from "./zip"; * * @param vec */ -export const rangeNd = (min: NumericArray, max?: NumericArray) => +export const rangeNd = ( + min: ArrayLikeIterable, + max?: ArrayLikeIterable +) => permutations.apply( null, ( From 6eb1f671858c234e53f231ad8af0f07f2a423d96 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 15:02:37 +0100 Subject: [PATCH 27/43] feat(pixel): add/update float formats, tests --- packages/pixel/src/format.ts | 4 ++++ packages/pixel/test/float.ts | 46 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 packages/pixel/test/float.ts diff --git a/packages/pixel/src/format.ts b/packages/pixel/src/format.ts index 8b7904b533..d588cae55f 100644 --- a/packages/pixel/src/format.ts +++ b/packages/pixel/src/format.ts @@ -305,6 +305,10 @@ export const FLOAT_GRAY_ALPHA = defFloatFormat({ channels: [Lane.RED, Lane.ALPHA], }); +export const FLOAT_RGB = defFloatFormat({ + channels: [Lane.RED, Lane.GREEN, Lane.BLUE], +}); + export const FLOAT_RGBA = defFloatFormat({ alpha: true, channels: [Lane.RED, Lane.GREEN, Lane.BLUE, Lane.ALPHA], diff --git a/packages/pixel/test/float.ts b/packages/pixel/test/float.ts new file mode 100644 index 0000000000..0c0e70e4b0 --- /dev/null +++ b/packages/pixel/test/float.ts @@ -0,0 +1,46 @@ +import * as assert from "assert"; +import { FLOAT_GRAY, FLOAT_RGBA, FLOAT_GRAY_ALPHA, FLOAT_RGB } from "../src"; + +describe("float", () => { + it("FLOAT_GRAY", () => { + assert.deepEqual(FLOAT_GRAY.fromABGR(0x80333333), [0.2]); + assert.deepEqual(FLOAT_GRAY.fromABGR(0x80666666), [0.4]); + assert.deepEqual(FLOAT_GRAY.fromABGR(0x80999999), [0.6]); + assert.deepEqual(FLOAT_GRAY.fromABGR(0x80cccccc), [0.8]); + assert.deepEqual(FLOAT_GRAY.fromABGR(0x80ffffff), [1]); + assert.equal(FLOAT_GRAY.toABGR([0.25]), 0xff404040); + assert.equal(FLOAT_GRAY.toABGR([0.5]), 0xff808080); + assert.equal(FLOAT_GRAY.toABGR([0.75]), 0xffbfbfbf); + }); + + it("FLOAT_GRAY_ALPHA", () => { + assert.deepEqual(FLOAT_GRAY_ALPHA.fromABGR(0x80333333), [ + 0.2, + 0.5019607843137255, + ]); + assert.deepEqual(FLOAT_GRAY_ALPHA.fromABGR(0x666666), [0.4, 0]); + assert.deepEqual(FLOAT_GRAY_ALPHA.fromABGR(0xff999999), [0.6, 1]); + assert.equal(FLOAT_GRAY_ALPHA.toABGR([0.25, 0]), 0x00404040); + assert.equal(FLOAT_GRAY_ALPHA.toABGR([0.5, 0.5]), 0x80808080); + assert.equal(FLOAT_GRAY_ALPHA.toABGR([0.75, 1]), 0xffbfbfbf); + }); + + it("FLOAT_RGB", () => { + assert.deepEqual(FLOAT_RGB.fromABGR(0x80336699), [0.6, 0.4, 0.2]); + assert.deepEqual(FLOAT_RGB.fromABGR(0xff00ff00), [0, 1, 0]); + assert.equal(FLOAT_RGB.toABGR([0.6, 0.4, 0.2]), 0xff336699); + assert.equal(FLOAT_RGB.toABGR([0, 1, 0]), 0xff00ff00); + }); + + it("FLOAT_RGBA", () => { + assert.deepEqual(FLOAT_RGBA.fromABGR(0x80336699), [ + 0.6, + 0.4, + 0.2, + 0.5019607843137255, + ]); + assert.deepEqual(FLOAT_RGBA.fromABGR(0xff00ff00), [0, 1, 0, 1]); + assert.equal(FLOAT_RGBA.toABGR([0.6, 0.4, 0.2, 0.5]), 0x80336699); + assert.equal(FLOAT_RGBA.toABGR([0, 1, 0, 1]), 0xff00ff00); + }); +}); From 5d596d80d2cc3aa72f7bd69b24dc1e1525b2ba15 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 15:03:12 +0100 Subject: [PATCH 28/43] docs(pixel): update readme, pkg meta --- packages/pixel/README.md | 36 ++++++++++++++++++++++++++++++------ packages/pixel/package.json | 6 +++++- packages/pixel/tpl.readme.md | 30 +++++++++++++++++++++++++++--- 3 files changed, 62 insertions(+), 10 deletions(-) diff --git a/packages/pixel/README.md b/packages/pixel/README.md index a89afdea89..71a4b7aa74 100644 --- a/packages/pixel/README.md +++ b/packages/pixel/README.md @@ -11,7 +11,8 @@ This project is part of the - [About](#about) - [WIP features](#wip-features) - - [Preset pixel formats](#preset-pixel-formats) + - [Packed integer pixel formats](#packed-integer-pixel-formats) + - [Floating point pixel formats](#floating-point-pixel-formats) - [Status](#status) - [Related packages](#related-packages) - [Installation](#installation) @@ -23,7 +24,7 @@ This project is part of the ## About -Typed array backed, packed pixel buffer w/ customizable formats, blitting, conversions. +Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions. ![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/pixel-basics.png) @@ -38,7 +39,10 @@ Typed array backed, packed pixel buffer w/ customizable formats, blitting, conve - Single-channel manipulation / extraction / replacement / conversion - Inversion - XY pixel accessors -- 10 preset formats (see table below) +- 10 packed integer and 4 floating point preset formats (see table + below) +- Ordered dithering w/ customizable Bayer matrix size and target color + steps (int formats only) - Declarative custom format & optimized code generation - HTML canvas creation & `ImageData` utilities @@ -46,12 +50,13 @@ Typed array backed, packed pixel buffer w/ customizable formats, blitting, conve - [x] Accessors for normalized channel value - [x] Pre/Post-multipy (only if alpha is available) -- [ ] Re-add strided float buffers / formats +- [x] Re-add strided float buffers / formats +- [x] Dithering - Readonly texture sampling abstraction - [ ] Wrap-around behaviors - [ ] Filtered access (bilinear interpolation) -### Preset pixel formats +### Packed integer pixel formats All packed integer formats use the canvas native ABGR 32bit format as common intermediate for conversions. During conversion to ABGR, channels @@ -64,6 +69,8 @@ Format specs can freely control channel layout within current limits: - Channel sizes: 1 - 32 bits. - Storage: 8, 16 or 32 bits per pixel +New formats can be defined via `defPackedFormat()`. + | Format ID | Bits per pixel | Description | |----------------|-------------------|------------------------------------------------------| | `ALPHA8` | 8 | 8 bit channel (alpha only) | @@ -85,6 +92,23 @@ Format specs can freely control channel layout within current limits: - In all built-in formats supporting it, the alpha channel always occupies the most-significant bits (up to format size) +### Floating point pixel formats + +Strided floating point format presets for use with `floatBuffer()`. New +formats can be defined via `defFloatFormat()`. + +| Format ID | Channel count | Description | +|--------------------|---------------|-----------------------------| +| `FLOAT_GRAY` | 1 | Single channel / grayscale | +| `FLOAT_GRAY_ALPHA` | 2 | Grayscale and alpha channel | +| `FLOAT_RGB` | 3 | Red, Green, Blue | +| `FLOAT_RGBA` | 4 | Red, Green, Blue, Alpha | + +- All color channels are unclamped (but can be clamped via + `buf.clamp()`). For conversion to packed int formats assumed to + contain normalized data (i.e. [0..1] interval) +- Conversion between float formats is currently unsupported + ### Status **STABLE** - used in production @@ -107,7 +131,7 @@ yarn add @thi.ng/pixel ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.10 KB / CJS: 3.25 KB / UMD: 3.23 KB +Package sizes (gzipped, pre-treeshake): ESM: 4.70 KB / CJS: 4.88 KB / UMD: 4.79 KB ## Dependencies diff --git a/packages/pixel/package.json b/packages/pixel/package.json index d947332548..7cd5034ca7 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/pixel", "version": "0.2.0", - "description": "Typed array backed, packed pixel buffer w/ customizable formats, blitting, conversions", + "description": "Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -57,12 +57,16 @@ "keywords": [ "ES6", "alpha blending", + "bayer matrix", "blit", "canvas", "color channels", "conversion", + "float", "grayscale", "image", + "ordered dither", + "packed", "pixel buffer", "typescript" ], diff --git a/packages/pixel/tpl.readme.md b/packages/pixel/tpl.readme.md index 296c37d922..be4657f4d6 100644 --- a/packages/pixel/tpl.readme.md +++ b/packages/pixel/tpl.readme.md @@ -26,7 +26,10 @@ ${pkg.description} - Single-channel manipulation / extraction / replacement / conversion - Inversion - XY pixel accessors -- 10 preset formats (see table below) +- 10 packed integer and 4 floating point preset formats (see table + below) +- Ordered dithering w/ customizable Bayer matrix size and target color + steps (int formats only) - Declarative custom format & optimized code generation - HTML canvas creation & `ImageData` utilities @@ -34,12 +37,13 @@ ${pkg.description} - [x] Accessors for normalized channel value - [x] Pre/Post-multipy (only if alpha is available) -- [ ] Re-add strided float buffers / formats +- [x] Re-add strided float buffers / formats +- [x] Dithering - Readonly texture sampling abstraction - [ ] Wrap-around behaviors - [ ] Filtered access (bilinear interpolation) -### Preset pixel formats +### Packed integer pixel formats All packed integer formats use the canvas native ABGR 32bit format as common intermediate for conversions. During conversion to ABGR, channels @@ -52,6 +56,8 @@ Format specs can freely control channel layout within current limits: - Channel sizes: 1 - 32 bits. - Storage: 8, 16 or 32 bits per pixel +New formats can be defined via `defPackedFormat()`. + | Format ID | Bits per pixel | Description | |----------------|-------------------|------------------------------------------------------| | `ALPHA8` | 8 | 8 bit channel (alpha only) | @@ -73,6 +79,24 @@ Format specs can freely control channel layout within current limits: - In all built-in formats supporting it, the alpha channel always occupies the most-significant bits (up to format size) +### Floating point pixel formats + +Strided floating point format presets for use with `floatBuffer()`. New +formats can be defined via `defFloatFormat()`. + + +| Format ID | Channel count | Description | +|--------------------|---------------|-----------------------------| +| `FLOAT_GRAY` | 1 | Single channel / grayscale | +| `FLOAT_GRAY_ALPHA` | 2 | Grayscale and alpha channel | +| `FLOAT_RGB` | 3 | Red, Green, Blue | +| `FLOAT_RGBA` | 4 | Red, Green, Blue, Alpha | + +- All color channels are unclamped (but can be clamped via + `buf.clamp()`). For conversion to packed int formats assumed to + contain normalized data (i.e. [0..1] interval) +- Conversion between float formats is currently unsupported + ${status} ${supportPackages} From 2f93581ca69f79df38ee6aa2697632c572fb55fc Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:04:50 +0100 Subject: [PATCH 29/43] feat(color): add gradient presets --- packages/color/src/cosine-gradients.ts | 62 +++++++++++++++----------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/packages/color/src/cosine-gradients.ts b/packages/color/src/cosine-gradients.ts index 48dd208d2c..6ab76b4185 100644 --- a/packages/color/src/cosine-gradients.ts +++ b/packages/color/src/cosine-gradients.ts @@ -6,7 +6,7 @@ import { push, transduce, tween, - zip + zip, } from "@thi.ng/transducers"; import { clamp } from "./clamp"; import type { IObjectOf } from "@thi.ng/api"; @@ -21,122 +21,134 @@ export const GRADIENTS: IObjectOf = { [0, 0.5, 0.5, 1], [0, 0.5, 0.5, 0], [0, 0.5, 0.3333, 0], - [0, 0.5, 0.6666, 0] + [0, 0.5, 0.6666, 0], ], "blue-magenta-orange": [ [0.938, 0.328, 0.718, 1], [0.659, 0.438, 0.328, 0], [0.388, 0.388, 0.296, 0], - [2.538, 2.478, 0.168, 0] + [2.538, 2.478, 0.168, 0], ], "blue-white-red": [ [0.66, 0.56, 0.68, 1], [0.718, 0.438, 0.72, 0], [0.52, 0.8, 0.52, 0], - [-0.43, -0.397, -0.083, 0] + [-0.43, -0.397, -0.083, 0], ], "cyan-magenta": [ [0.61, 0.498, 0.65, 1], [0.388, 0.498, 0.35, 0], [0.53, 0.498, 0.62, 0], - [3.438, 3.012, 4.025, 0] + [3.438, 3.012, 4.025, 0], ], "green-blue-orange": [ [0.892, 0.725, 0, 1], [0.878, 0.278, 0.725, 0], [0.332, 0.518, 0.545, 0], - [2.44, 5.043, 0.732, 0] + [2.44, 5.043, 0.732, 0], ], "green-cyan": [ [0, 0.5, 0.5, 1], [0, 0.5, 0.5, 0], [0, 0.3333, 0.5, 0], - [0, 0.6666, 0.5, 0] + [0, 0.6666, 0.5, 0], ], "green-magenta": [ [0.6666, 0.5, 0.5, 1], [0.5, 0.6666, 0.5, 0], [0.6666, 0.666, 0.5, 0], - [0.2, 0, 0.5, 0] + [0.2, 0, 0.5, 0], ], "green-red": [ [0.5, 0.5, 0, 1], [0.5, 0.5, 0, 0], [0.5, 0.5, 0, 0], - [0.5, 0, 0, 0] + [0.5, 0, 0, 0], ], "magenta-green": [ [0.59, 0.811, 0.12, 1], [0.41, 0.392, 0.59, 0], [0.94, 0.548, 0.278, 0], - [-4.242, -6.611, -4.045, 0] + [-4.242, -6.611, -4.045, 0], ], "orange-blue": [ [0.5, 0.5, 0.5, 1], [0.5, 0.5, 0.5, 0], [0.8, 0.8, 0.5, 0], - [0, 0.2, 0.5, 0] + [0, 0.2, 0.5, 0], ], "orange-magenta-blue": [ [0.821, 0.328, 0.242, 1], [0.659, 0.481, 0.896, 0], [0.612, 0.34, 0.296, 0], - [2.82, 3.026, -0.273, 0] + [2.82, 3.026, -0.273, 0], ], rainbow1: [ [0.5, 0.5, 0.5, 1], [0.5, 0.5, 0.5, 0], [1.0, 1.0, 1.0, 0], - [0, 0.3333, 0.6666, 0] + [0, 0.3333, 0.6666, 0], ], rainbow2: [ [0.5, 0.5, 0.5, 1], [0.666, 0.666, 0.666, 0], [1.0, 1.0, 1.0, 0], - [0, 0.3333, 0.6666, 0] + [0, 0.3333, 0.6666, 0], ], rainbow3: [ [0.5, 0.5, 0.5, 1], [0.75, 0.75, 0.75, 0], [1.0, 1.0, 1.0, 0], - [0, 0.3333, 0.6666, 0] + [0, 0.3333, 0.6666, 0], ], rainbow4: [ [0.5, 0.5, 0.5, 1], [1, 1, 1, 0], [1.0, 1.0, 1.0, 0], - [0, 0.3333, 0.6666, 0] + [0, 0.3333, 0.6666, 0], ], "red-blue": [ [0.5, 0, 0.5, 1], [0.5, 0, 0.5, 0], [0.5, 0, 0.5, 0], - [0, 0, 0.5, 0] + [0, 0, 0.5, 0], ], "yellow-green-blue": [ [0.65, 0.5, 0.31, 1], [-0.65, 0.5, 0.6, 0], [0.333, 0.278, 0.278, 0], - [0.66, 0, 0.667, 0] + [0.66, 0, 0.667, 0], ], "yellow-magenta-cyan": [ [1, 0.5, 0.5, 1], [0.5, 0.5, 0.5, 0], [0.75, 1.0, 0.6666, 0], - [0.8, 1.0, 0.3333, 0] + [0.8, 1.0, 0.3333, 0], ], "yellow-purple-magenta": [ [0.731, 1.098, 0.192, 1], [0.358, 1.09, 0.657, 0], [1.077, 0.36, 0.328, 0], - [0.965, 2.265, 0.837, 0] + [0.965, 2.265, 0.837, 0], ], "yellow-red": [ [0.5, 0.5, 0, 1], [0.5, 0.5, 0, 0], [0.1, 0.5, 0, 0], - [0, 0, 0, 0] - ] + [0, 0, 0, 0], + ], + "purple-orange-cyan": [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 0], + [0.5, 0.5, 1, 0], + [-0.25, 0.5, 1, 0], + ], + heat1: [ + [0.5, 0.4, 0.25, 1], + [0.5, 0.5, 0.666, 0], + [0.5, 0.666, 0.8, 0], + [0.5, 0.666, 0.8, 0], + ], }; export const cosineColor = (spec: CosGradientSpec, t: number): Color => @@ -166,7 +178,7 @@ export const cosineCoeffs = (from: ReadonlyColor, to: ReadonlyColor) => { [...map(([s, a]) => s - a, zip(from, amp))], amp, [-0.5, -0.5, -0.5, -0.5], - [0, 0, 0, 0] + [0, 0, 0, 0], ]; }; @@ -199,6 +211,6 @@ export const multiCosineGradient = ( max: 1, init: cosineCoeffs, mix: cosineColor, - stops - }) + stops, + }), ]; From 104bb58cae0b85bc013935419d26bad784412731 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:06:09 +0100 Subject: [PATCH 30/43] docs(color): add/update gradient preview, readme --- assets/color/gradient-blue-cyan.png | Bin 0 -> 391 bytes assets/color/gradient-blue-magenta-orange.png | Bin 0 -> 387 bytes assets/color/gradient-blue-white-red.png | Bin 0 -> 414 bytes assets/color/gradient-cyan-magenta.png | Bin 0 -> 441 bytes assets/color/gradient-green-blue-orange.png | Bin 0 -> 456 bytes assets/color/gradient-green-cyan.png | Bin 0 -> 396 bytes assets/color/gradient-green-magenta.png | Bin 0 -> 448 bytes assets/color/gradient-green-red.png | Bin 0 -> 344 bytes assets/color/gradient-heat1.png | Bin 0 -> 466 bytes assets/color/gradient-magenta-green.png | Bin 0 -> 458 bytes assets/color/gradient-orange-blue.png | Bin 0 -> 489 bytes assets/color/gradient-orange-magenta-blue.png | Bin 0 -> 391 bytes assets/color/gradient-purple-orange-cyan.png | Bin 0 -> 482 bytes assets/color/gradient-rainbow1.png | Bin 0 -> 525 bytes assets/color/gradient-rainbow2.png | Bin 0 -> 428 bytes assets/color/gradient-rainbow3.png | Bin 0 -> 407 bytes assets/color/gradient-rainbow4.png | Bin 0 -> 377 bytes assets/color/gradient-red-blue.png | Bin 0 -> 346 bytes assets/color/gradient-yellow-green-blue.png | Bin 0 -> 406 bytes assets/color/gradient-yellow-magenta-cyan.png | Bin 0 -> 472 bytes .../color/gradient-yellow-purple-magenta.png | Bin 0 -> 459 bytes assets/color/gradient-yellow-red.png | Bin 0 -> 379 bytes packages/color/README.md | 48 +++++++++--------- packages/color/tpl.readme.md | 46 +++++++++-------- 24 files changed, 49 insertions(+), 45 deletions(-) create mode 100644 assets/color/gradient-blue-cyan.png create mode 100644 assets/color/gradient-blue-magenta-orange.png create mode 100644 assets/color/gradient-blue-white-red.png create mode 100644 assets/color/gradient-cyan-magenta.png create mode 100644 assets/color/gradient-green-blue-orange.png create mode 100644 assets/color/gradient-green-cyan.png create mode 100644 assets/color/gradient-green-magenta.png create mode 100644 assets/color/gradient-green-red.png create mode 100644 assets/color/gradient-heat1.png create mode 100644 assets/color/gradient-magenta-green.png create mode 100644 assets/color/gradient-orange-blue.png create mode 100644 assets/color/gradient-orange-magenta-blue.png create mode 100644 assets/color/gradient-purple-orange-cyan.png create mode 100644 assets/color/gradient-rainbow1.png create mode 100644 assets/color/gradient-rainbow2.png create mode 100644 assets/color/gradient-rainbow3.png create mode 100644 assets/color/gradient-rainbow4.png create mode 100644 assets/color/gradient-red-blue.png create mode 100644 assets/color/gradient-yellow-green-blue.png create mode 100644 assets/color/gradient-yellow-magenta-cyan.png create mode 100644 assets/color/gradient-yellow-purple-magenta.png create mode 100644 assets/color/gradient-yellow-red.png diff --git a/assets/color/gradient-blue-cyan.png b/assets/color/gradient-blue-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..ca779d1c8fc8fbb9439097a39a5a8cb9718545c0 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb{HT z7srr_Id88R<{ft6VQ};e`#1Ifeyy$R78Gunt&?We0EAN%<2-@V7F)$eOw{d*E@y?uU8{Wd$(e(UY8-~T!I z<5}?YV~@YC|FkDozCZrnZM);ydt$dgetYl7jK1QUJ$c7(7pL#GIR3Tfcgfy*rUUiL k?-(2(@d>C5cIpfJyE{xt+f5{X07I6+)78&qol`;+0AUKG`2YX_ literal 0 HcmV?d00001 diff --git a/assets/color/gradient-blue-magenta-orange.png b/assets/color/gradient-blue-magenta-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..1a7cdebc80f240b7792e12322a01c732a4511f8b GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb`sD z7srr_Id88RW*spQa0pz#XJ_oY`1hWZwrGn-v9uj{zSr+ePvKYj`^R5be72~Yet!P< z=R5MP%JR<7y}hw`x2f&-W!r0C{Y>2T>&mq+md{?!$e(`s>)U6aY;3P@w?6&(OZNM+ zpXZ-v{hTqq|MZt#H8cNRe|xU@^|y0RUw%#eX*D^smUnl@@-k`&ls708 gvU3OxcIp@Nyt>%*x669A0YjC+)78&qol`;+0IeOB6aWAK literal 0 HcmV?d00001 diff --git a/assets/color/gradient-blue-white-red.png b/assets/color/gradient-blue-white-red.png new file mode 100644 index 0000000000000000000000000000000000000000..284aeaa27499a5d7c03b628f3bd1df90cf26512e GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppsxu z7srr_Id896<{fqra0v{G>3i~fes}kiDaHpGc)9tw-lwizB;i>fS7&$maCT+f1(^F?PYJ{wwB*tyJyw^cR$V^F1^36eBIQoC3^K1@r#S4*Zsa@XTyJe zW$f+ZdGEe8FWzaFUM+WcbM24Xo^!i5l|2uQ^nU&`{&}I;wZ+w;+vl}z{qmtw^xCbP z|6Z;87-jiBuhxG3w|o`{mO^$8m3It{M`RTy>|kaQDsOOj#3$f!hmon%+CgEkNiK-r Y{x5mf^UWUufdS6o>FVdQ&MBb@0Ok&-tN;K2 literal 0 HcmV?d00001 diff --git a/assets/color/gradient-cyan-magenta.png b/assets/color/gradient-cyan-magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..2275439a315737ae88dba66e3172027e54f0bb6f GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppraK z7srr_Id88x<{dWRadkX-?qJn_xBKmGYr9t;_pQy}{&CIm+ZEg5 z?e5=|uiSRr|8{)e?vGzD-+mkabj|)Julin3|Nc1J^!Ddnv)``1du{vM2>a0E7jybI z#Xj9}+ip*6v9(_Q_gve3>BTj7j*H*^8@xGhdtsmcw$FCE-@e$Ee1DoO1LqN0g$X;D zS%k_P93Jrrc-&!R>a=!HC}ihQdB@N==p_F!^1NGh{(Q^dx4^hy@O1TaS?83{1OQ>! BydMAn literal 0 HcmV?d00001 diff --git a/assets/color/gradient-green-blue-orange.png b/assets/color/gradient-green-blue-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..b79713651bd0a6b6576c319e57f08583ec7b6138 GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppsfo z7srr_Id896=N)$7aSg0plfroOztiN1Sz8`TD6IMRa893s`_zK#>x+NpPs!Z*%I4S> z+gINfORoR;^WVp!yH@))&OQF~$BN|rYm@(8v68o+^|tETM*Df&FYmanKmDy)?(5rc z@4Wtat)}wUxBTzfYma};y}M6l`|X#xf9HQ+Eq}cCZRD}zrKQJ9t>ydke(yM!w%h-< zp{)J;ocZtb`#;{^yY}|<$9Zr1`=37l`_}MP;qJNn_mlvI-b)|PuHNI9|2jYH-@B(X zjv47@-_7G@C_EyoFkuHXi%@xk!y`Tck2{P^oz@Nth3p(E?-&{fo#a1;wg;WJE?#xz Q07eair>mdKI;Vst0Ju}g%m4rY literal 0 HcmV?d00001 diff --git a/assets/color/gradient-green-cyan.png b/assets/color/gradient-green-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7fc02f45ecb1e9436af0f8f66343175485b946 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb|$< z7srr_Id88R<{dU*U~vpC`Zx9eel63;0EIVd-81_vyqJ1Yj=%nHx^vs{>Y996_1C2v z)~%1a_V(k$PkZ;;tbaXw`qw8vKD_x|J$-tqo!y>SwVUqU{yNz_|N86aPd=&3-}-mX zUEZqds>QE&d;0#)-d;c1{dLuyf6H}V|GT;PanK6G^5ojGxbNrp9Xq%yLVx||vbizm o!x?_$ACXn?xWm{q=&64U@9r=q>1mdKI;Vst0LXQ%djJ3c literal 0 HcmV?d00001 diff --git a/assets/color/gradient-green-magenta.png b/assets/color/gradient-green-magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..6a61fa07df505ed2be9341c2985c02e97d4550af GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppsHg z7srr_Id89c`yCDta0#s6{D196=|?PwO#bSae%w-WZq1eR94aNx*I)ng&hTq--F)|I z*?qRhUjO;|)lm2C(x8JJ&Ypvby*Bh_wjGOWO-LGQ#XV>C(AK(A=mv!9j z6auP5iPJH7Phi)U76!hcp@&-`7J_qa57-SSAe_y1#d z&)>7XU;pgwir8Dn@0R}f_GQQH<;RPE@7O(W-`e7}#rnnC|0g{z-9Pnp+3Nd!*NslE z=Wt*vWam(M$Iy60R$;;pW)`9H28Ty{0v>l5nL4c<6b75*0{e{I(4I55{8E8Y!rPKW1Jnk?y4SFh0b6QMt_Uv`az@TFAboFyt=akR{0PiS@TL1t6 literal 0 HcmV?d00001 diff --git a/assets/color/gradient-heat1.png b/assets/color/gradient-heat1.png new file mode 100644 index 0000000000000000000000000000000000000000..b5da098b0934aef39ae160ecb228721bc2e23484 GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppte^ z7srr_Id88R<~?>0a0%pVpHe%?_TjzS+|!fh>{5TRmBGFB`zANusT@C&e}69j{jNgy zdE~jmZ?C;$Ph0BgpM6{y_v&%cyVF(kQuoezTXkjrtMifj@9v*p9C0&tv4Sf8DY5_1-nbl{LGs7i;&Qmj5xowD!)r*Oj$tYoGtCeqB|!CEM2h zcg2?dHn)y1uHCcszTH;6=ld81-0v_lby_ zE{-7;bKYLDT=&>Pz{PRX&KLid&oJ(KWVCKo@3HB#J3esT6j6A7_Wb^p7N@@M*8-VrBpJyu0qNqxRq3W>&H1 z?OHp%*ZWGde<#N7E|y!fJ}>swcJIjeuXmzjqqqB|&UJrncXj@(-CI}8XA*F{!^qTW z?VwP|&Y|*-q49{U!h{{nEJEcC4v+W*JO-QO3w!O|iJZ$0D@g$3j=|H_&t;ucLK6UH CZQI!Z literal 0 HcmV?d00001 diff --git a/assets/color/gradient-orange-magenta-blue.png b/assets/color/gradient-orange-magenta-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7818ea82f810a673831e9ada96841d74546bbb GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb{HT z7srr_Id896=P@}7I5>WIF0t=_W{pCQn1`+K8k0De4x?ke}VV10l8e!u#=_H7?c z`o5o^`dIn?J30TyZ$s~&JFe}2x2%79T%7d%_%BzseQ|#L@!$5(-wu3S`1bby{_FE* zZF`=$i}&^Y`yPZ*BUHU%&e}v-Dck ikyY@x!`L+FDY@PM+U734lr0GiSq4v6KbLh*2~7Z^S*cV2 literal 0 HcmV?d00001 diff --git a/assets/color/gradient-purple-orange-cyan.png b/assets/color/gradient-purple-orange-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..0d65f7ac0056d2b0e81a3fd8fff38af6609c6211 GIT binary patch literal 482 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppxmH zE{-7;bKYL@_G2*=aB;l-R`S8MJ5n?Bqfc>X-&m$pw)9Qj1c&wY+tPn0ZwouW>)X?Z z?y;|LzAKGAcl-Y570=&XFY0?;w)cvE?5khF*EYuQFMs_pR{q}F&2?Ei@8#lm>&yQx zKYd=d`2V|4AI`tdoefZ9K zY2WwED84`Kb*0(UhYwBUrx)9wOI=g^<7)QI`-Qt_yxuYGr(Uu2{_oH8Bl?QvU)#h# ze_X?pYF0bJ3r=@kZr)vD}9?f|kG__1?v*p>--*^6DWJnPxZ*X|TC*X01k*U+#L7|YHL**Sq m;}Kbf2|Jisga(`BFZPt|iH~hhvSb0{m%-E3&t;ucLK6Ub@aALy literal 0 HcmV?d00001 diff --git a/assets/color/gradient-rainbow2.png b/assets/color/gradient-rainbow2.png new file mode 100644 index 0000000000000000000000000000000000000000..b6ec31ef48f539c64acc262024b789d4c800e59c GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppryS z7srr_Id896=N$?ValPoS^5lNNjQo|jvBt-assyVdr4bM%Vep51tE;kn=K{nz$>d$x9;^_ABV>x1V` ze|=}$xx>Y`t@-2Ed0W5wy5{<~&o8sDm;ZnD{_jZFhTJ?61=5d0BsI*Ok7${_1+?&;I!8oU_mW-{Swj zH~x1{{%U(p2bMy14wZKdjYnh^ChTBl5h`zRc*G~*afgwq)7n8{ut_e+U$@S4@t&IX R@xYK~@O1TaS?83{1OOv*rm+A3 literal 0 HcmV?d00001 diff --git a/assets/color/gradient-rainbow4.png b/assets/color/gradient-rainbow4.png new file mode 100644 index 0000000000000000000000000000000000000000..5e989ef5bce470200ad174f465b498628f3d531c GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb|Y# z7srr_Id8A*_B-q#;Bc{3O}794e~+YHAs5nO*Q8i7l~^v9ww(4>_NiTM@7(E?HMU0k z=1Sc6zf=7}b@@j#z3-3B{(mW!TmN~7?)r7d`-Q)+o4;H4_+9b8n{)dMcb@(H&W2C+ z?ZTyVZ~i|lR+n-6b@2bSx$oDl+n=%jt^Dum|DC!0&lw&1b}+MaT02Y_?9>JGtS2VP U9=9&<2Zkksr>mdKI;Vst07Sc%MF0Q* literal 0 HcmV?d00001 diff --git a/assets/color/gradient-red-blue.png b/assets/color/gradient-red-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..99c81d39b44eea6d6c937b20eead2da4a9a04037 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb~yh z7srr_Id89c^EEjLI2;uG`j7ovbG2EUK~~MmTcuS@oRar4Wv$mdHp$+dUDKC(?c0eT z63-)VcRsF-Nt3;o(=YSy*5b0>?S+3&R@Z-hX;&Vq)+hXblk(#u&)!Ix_vM&R`|i&0 k!~7ASfXX`t$3ai&H_eDiHtTDZ0R|R>r>mdKI;Vst01iffd;kCd literal 0 HcmV?d00001 diff --git a/assets/color/gradient-yellow-green-blue.png b/assets/color/gradient-yellow-green-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..8a0faa9ba75bd6fabe7fbba8e4b1c41ae5ea9084 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb~FS z7srr_Id88R79BR=VQ{qk`M+ORJGZ5YZ|=La?Uw~wUOtn%{Vr6`w8k+6y+Y6tZ&&l{Y91c4~qAY~ihItQ`y4fdS3n>FVdQ&MBb@09JUP A#sB~S literal 0 HcmV?d00001 diff --git a/assets/color/gradient-yellow-magenta-cyan.png b/assets/color/gradient-yellow-magenta-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..6243b86c7103ab8332f732acfbee2ba1e742aaee GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppsrs z7srr_Id896PkQ7a;u6SNyP(|k_x%eDzqbB8wL+qIW?|p-kE;q7yswC@Z%fjCee3m_ z>&5TSF1G%@_*~W9KIzZ5&ul((zVh*}ymjGwc zw&mA#(R=fXXa2r2`*={ap6kr@Qo1>!yGDvHRNVTYK$J z-V3qLLobc$~%U}BeDt;b}+LD kl{Yv%;uG)~Y?3d;9a1u0n5|m;2^dujp00i_>zopr0A?`NumAu6 literal 0 HcmV?d00001 diff --git a/assets/color/gradient-yellow-purple-magenta.png b/assets/color/gradient-yellow-purple-magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1abd3906716f6aefc4593fe625c126068ab3c9 GIT binary patch literal 459 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@nppphp z7srr_Id89=&N~#q<9e~B<=ge&rzeCj|G^it^zh=XY13*aGGv~={?oX&N`f7_u96e+jZ$SyWZOM z9Di;i`}J*Le}7fYwa1@jwx#ZA+bHLMIHLdguDR>;eoGu%9iv~mo9Fhgli7FIUA~$# z|LMywGTZO|2;Kkx`i8l;AMdnXxBuMtJNs&RZg0N5?eS*$>3O^Lp1zMi_CH6W|9}4V z#nSn*{Et5$E9_Nc5IiEQFkuHXi%@xk!y`Tck2{P^oz@Nth3p(E?-&{fon#&3=WjhW UcUT^-0>%!5r>mdKI;Vst01WoW)&Kwi literal 0 HcmV?d00001 diff --git a/assets/color/gradient-yellow-red.png b/assets/color/gradient-yellow-red.png new file mode 100644 index 0000000000000000000000000000000000000000..43b1dcd5de470cec84c7ffa98baec76a7514b708 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7P8*wlJN!6l#2Y?h?lDE4H!+#K5uy^@npb`U5 z7srr_Id88R<{dT=U^uAq|9@eUc4@?%f(^5E(ySh7crh*cyJua0Yvt#xT~T)8mp}K; zdmn9g&up*U<&y1xZr;hbQ{(r1^7FHgKRsI+=Dv2_-@1pl#NYis^?RPVRR68qdo|&! z^~>%7)!3(go<4VW_+{VXbBp_4Mr@w_B<}F5ykFO^Td+Qe7b ``` -Package sizes (gzipped, pre-treeshake): ESM: 7.16 KB / CJS: 7.52 KB / UMD: 7.07 KB +Package sizes (gzipped, pre-treeshake): ESM: 7.19 KB / CJS: 7.56 KB / UMD: 7.11 KB ## Dependencies diff --git a/packages/color/tpl.readme.md b/packages/color/tpl.readme.md index 4a4a1dbf6e..63834a0563 100644 --- a/packages/color/tpl.readme.md +++ b/packages/color/tpl.readme.md @@ -80,28 +80,30 @@ package. The following presets are bundled (in [`cosine-gradients.ts`](https://github.com/thi-ng/umbrella/tree/develop/packages/color/src/cosine-gradients.ts)): -| | | -|----------------------------------------------------------------|------------------------------------------------------------------| -| ![](http://media.thi.ng/color/presets/rainbow1.svg) | ![](http://media.thi.ng/color/presets/rainbow2.svg) | -| rainbow1 | rainbow2 | -| ![](http://media.thi.ng/color/presets/rainbow3.svg) | ![](http://media.thi.ng/color/presets/rainbow4.svg) | -| rainbow3 | rainbow4 | -| ![](http://media.thi.ng/color/presets/yellow-magenta-cyan.svg) | ![](http://media.thi.ng/color/presets/orange-blue.svg) | -| yellow-magenta-cyan preset | orange-blue | -| ![](http://media.thi.ng/color/presets/green-magenta.svg) | ![](http://media.thi.ng/color/presets/green-red.svg) | -| green-magenta | green-red | -| ![](http://media.thi.ng/color/presets/green-cyan.svg) | ![](http://media.thi.ng/color/presets/blue-cyan.svg) | -| green-cyan | blue-cyan | -| ![](http://media.thi.ng/color/presets/yellow-red.svg) | ![](http://media.thi.ng/color/presets/red-blue.svg) | -| yellow-red | red-blue | -| ![](http://media.thi.ng/color/presets/yellow-green-blue.svg) | ![](http://media.thi.ng/color/presets/blue-white-red.svg) | -| yellow-green-blue | blue-white-red | -| ![](http://media.thi.ng/color/presets/cyan-magenta.svg) | ![](http://media.thi.ng/color/presets/yellow-purple-magenta.svg) | -| cyan-magenta | yellow-purple-magenta | -| ![](http://media.thi.ng/color/presets/green-blue-orange.svg) | ![](http://media.thi.ng/color/presets/orange-magenta-blue.svg) | -| green-blue-orange | orange-magenta-blue | -| ![](http://media.thi.ng/color/presets/blue-magenta-orange.svg) | ![](http://media.thi.ng/color/presets/magenta-green.svg) | -| blue-magenta-orange | magenta-green | +| Preview | Gradient ID | +|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------------| +| ![gradient: blue-cyan](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-blue-cyan.png) | `blue-cyan` | +| ![gradient: blue-magenta-orange](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-blue-magenta-orange.png) | `blue-magenta-orange` | +| ![gradient: blue-white-red](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-blue-white-red.png) | `blue-white-red` | +| ![gradient: cyan-magenta](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-cyan-magenta.png) | `cyan-magenta` | +| ![gradient: green-blue-orange](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-green-blue-orange.png) | `green-blue-orange` | +| ![gradient: green-cyan](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-green-cyan.png) | `green-cyan` | +| ![gradient: green-magenta](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-green-magenta.png) | `green-magenta` | +| ![gradient: green-red](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-green-red.png) | `green-red` | +| ![gradient: heat1](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-heat1.png) | `heat1` | +| ![gradient: magenta-green](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-magenta-green.png) | `magenta-green` | +| ![gradient: orange-blue](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-orange-blue.png) | `orange-blue` | +| ![gradient: orange-magenta-blue](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-orange-magenta-blue.png) | `orange-magenta-blue` | +| ![gradient: purple-orange-cyan](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-purple-orange-cyan.png) | `purple-orange-cyan` | +| ![gradient: rainbow1](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-rainbow1.png) | `rainbow1` | +| ![gradient: rainbow2](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-rainbow2.png) | `rainbow2` | +| ![gradient: rainbow3](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-rainbow3.png) | `rainbow3` | +| ![gradient: rainbow4](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-rainbow4.png) | `rainbow4` | +| ![gradient: red-blue](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-red-blue.png) | `red-blue` | +| ![gradient: yellow-green-blue](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-green-blue.png) | `yellow-green-blue` | +| ![gradient: yellow-magenta-cyan](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-magenta-cyan.png) | `yellow-magenta-cyan` | +| ![gradient: yellow-purple-magenta](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-purple-magenta.png) | `yellow-purple-magenta` | +| ![gradient: yellow-red](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/color/gradient-yellow-red.png) | `yellow-red` | ### Two-color gradients From fcc23ac7e0855152661f8bc05bab04935672bf75 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:26:29 +0100 Subject: [PATCH 31/43] feat(examples): add poisson-circles & stratified-grid examples --- examples/poisson-circles/.gitignore | 8 +++++ examples/poisson-circles/README.md | 13 ++++++++ examples/poisson-circles/index.html | 17 ++++++++++ examples/poisson-circles/package.json | 39 ++++++++++++++++++++++ examples/poisson-circles/src/index.ts | 26 +++++++++++++++ examples/poisson-circles/src/webpack.d.ts | 4 +++ examples/poisson-circles/tsconfig.json | 11 ++++++ examples/poisson-circles/webpack.config.js | 23 +++++++++++++ examples/stratified-grid/.gitignore | 8 +++++ examples/stratified-grid/README.md | 13 ++++++++ examples/stratified-grid/index.html | 17 ++++++++++ examples/stratified-grid/package.json | 39 ++++++++++++++++++++++ examples/stratified-grid/src/index.ts | 28 ++++++++++++++++ examples/stratified-grid/src/webpack.d.ts | 4 +++ examples/stratified-grid/tsconfig.json | 11 ++++++ examples/stratified-grid/webpack.config.js | 23 +++++++++++++ 16 files changed, 284 insertions(+) create mode 100644 examples/poisson-circles/.gitignore create mode 100644 examples/poisson-circles/README.md create mode 100644 examples/poisson-circles/index.html create mode 100644 examples/poisson-circles/package.json create mode 100644 examples/poisson-circles/src/index.ts create mode 100644 examples/poisson-circles/src/webpack.d.ts create mode 100644 examples/poisson-circles/tsconfig.json create mode 100644 examples/poisson-circles/webpack.config.js create mode 100644 examples/stratified-grid/.gitignore create mode 100644 examples/stratified-grid/README.md create mode 100644 examples/stratified-grid/index.html create mode 100644 examples/stratified-grid/package.json create mode 100644 examples/stratified-grid/src/index.ts create mode 100644 examples/stratified-grid/src/webpack.d.ts create mode 100644 examples/stratified-grid/tsconfig.json create mode 100644 examples/stratified-grid/webpack.config.js diff --git a/examples/poisson-circles/.gitignore b/examples/poisson-circles/.gitignore new file mode 100644 index 0000000000..5d62218c54 --- /dev/null +++ b/examples/poisson-circles/.gitignore @@ -0,0 +1,8 @@ +.cache +out +node_modules +yarn.lock +*.js +*.map +!src/*.d.ts +!*.config.js diff --git a/examples/poisson-circles/README.md b/examples/poisson-circles/README.md new file mode 100644 index 0000000000..6b7cd73bb5 --- /dev/null +++ b/examples/poisson-circles/README.md @@ -0,0 +1,13 @@ +# poisson-circles + +[Live demo](http://demo.thi.ng/umbrella/poisson-circles/) + +Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. + +## Authors + +- Karsten Schmidt + +## License + +© 2020 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/poisson-circles/index.html b/examples/poisson-circles/index.html new file mode 100644 index 0000000000..20ce7999cf --- /dev/null +++ b/examples/poisson-circles/index.html @@ -0,0 +1,17 @@ + + + + + + + poisson-circles + + + + +

+
+ + + diff --git a/examples/poisson-circles/package.json b/examples/poisson-circles/package.json new file mode 100644 index 0000000000..2b7fe5a87f --- /dev/null +++ b/examples/poisson-circles/package.json @@ -0,0 +1,39 @@ +{ + "name": "poisson-circles", + "version": "0.0.1", + "description": "2D Poisson-disc sampler with procedural gradient map", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "rm -rf .cache build out", + "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --detailed-report --experimental-scope-hoisting", + "build:webpack": "../../node_modules/.bin/webpack --mode production", + "start": "parcel index.html -p 8080 --open" + }, + "devDependencies": { + "parcel-bundler": "^1.12.4", + "terser": "^4.6.3", + "typescript": "^3.7.5" + }, + "dependencies": { + "@thi.ng/geom": "latest", + "@thi.ng/geom-accel": "latest", + "@thi.ng/math": "latest", + "@thi.ng/poisson": "latest", + "@thi.ng/vectors": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + }, + "thi.ng": { + "readme": [ + "geom-accel", + "poisson" + ], + "screenshot": "poisson/poisson.jpg" + } +} diff --git a/examples/poisson-circles/src/index.ts b/examples/poisson-circles/src/index.ts new file mode 100644 index 0000000000..9f2ecba375 --- /dev/null +++ b/examples/poisson-circles/src/index.ts @@ -0,0 +1,26 @@ +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; +import { fit01 } from "@thi.ng/math"; +import { samplePoisson } from "@thi.ng/poisson"; +import { dist, randMinMax2 } from "@thi.ng/vectors"; + +const index = new KdTreeSet(2); + +const pts = samplePoisson({ + index, + points: () => randMinMax2(null, [0, 0], [500, 500]), + density: (p) => fit01(Math.pow(dist(p, [250, 250]) / 250, 2), 2, 10), + iter: 5, + max: 8000, + quality: 500, +}); + +// use thi.ng/geom to visualize results +// each circle's radius is set to distance to its nearest neighbor +const circles = pts.map((p) => + circle(p, dist(p, index.queryKeys(p, 40, 2)[1]) / 2) +); + +document.body.innerHTML = asSvg( + svgDoc({ fill: "none", stroke: "blue" }, ...circles) +); diff --git a/examples/poisson-circles/src/webpack.d.ts b/examples/poisson-circles/src/webpack.d.ts new file mode 100644 index 0000000000..2966449833 --- /dev/null +++ b/examples/poisson-circles/src/webpack.d.ts @@ -0,0 +1,4 @@ +declare module "*.jpg"; +declare module "*.png"; +declare module "*.svg"; +declare module "*.json"; diff --git a/examples/poisson-circles/tsconfig.json b/examples/poisson-circles/tsconfig.json new file mode 100644 index 0000000000..bbf112cc18 --- /dev/null +++ b/examples/poisson-circles/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": ".", + "target": "es6", + "sourceMap": true + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/examples/poisson-circles/webpack.config.js b/examples/poisson-circles/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/poisson-circles/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; diff --git a/examples/stratified-grid/.gitignore b/examples/stratified-grid/.gitignore new file mode 100644 index 0000000000..5d62218c54 --- /dev/null +++ b/examples/stratified-grid/.gitignore @@ -0,0 +1,8 @@ +.cache +out +node_modules +yarn.lock +*.js +*.map +!src/*.d.ts +!*.config.js diff --git a/examples/stratified-grid/README.md b/examples/stratified-grid/README.md new file mode 100644 index 0000000000..e3e17836db --- /dev/null +++ b/examples/stratified-grid/README.md @@ -0,0 +1,13 @@ +# stratified-grid + +[Live demo](http://demo.thi.ng/umbrella/stratified-grid/) + +Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. + +## Authors + +- Karsten Schmidt + +## License + +© 2020 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/stratified-grid/index.html b/examples/stratified-grid/index.html new file mode 100644 index 0000000000..c1927c0f82 --- /dev/null +++ b/examples/stratified-grid/index.html @@ -0,0 +1,17 @@ + + + + + + + stratified-grid + + + + +
+ + + + diff --git a/examples/stratified-grid/package.json b/examples/stratified-grid/package.json new file mode 100644 index 0000000000..76f64f86fc --- /dev/null +++ b/examples/stratified-grid/package.json @@ -0,0 +1,39 @@ +{ + "name": "stratified-grid", + "version": "0.0.1", + "description": "2D Stratified grid sampling example", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "rm -rf .cache build out", + "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --detailed-report --experimental-scope-hoisting", + "build:webpack": "../../node_modules/.bin/webpack --mode production", + "start": "parcel index.html -p 8080 --open" + }, + "devDependencies": { + "parcel-bundler": "^1.12.4", + "terser": "^4.6.3", + "typescript": "^3.7.5" + }, + "dependencies": { + "@thi.ng/geom": "latest", + "@thi.ng/geom-accel": "latest", + "@thi.ng/poisson": "latest", + "@thi.ng/transducers": "latest", + "@thi.ng/vectors": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + }, + "thi.ng": { + "readme": [ + "geom-accel", + "poisson" + ], + "screenshot": "poisson/stratified-grid.png" + } +} diff --git a/examples/stratified-grid/src/index.ts b/examples/stratified-grid/src/index.ts new file mode 100644 index 0000000000..df6b2fb17c --- /dev/null +++ b/examples/stratified-grid/src/index.ts @@ -0,0 +1,28 @@ +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { KdTreeSet } from "@thi.ng/geom-accel"; +import { stratifiedGrid } from "@thi.ng/poisson"; +import { map } from "@thi.ng/transducers"; +import { dist } from "@thi.ng/vectors"; + +const index = new KdTreeSet(2); +index.into(stratifiedGrid({ dim: [50, 50], samples: 1 })); + +document.body.innerHTML = asSvg( + svgDoc( + { + width: 600, + height: 600, + fill: "none", + stroke: "blue", + "stroke-width": 0.1, + }, + ...map( + (p) => + circle( + p, + dist(p, index.queryKeys(p, 2 * Math.SQRT2, 2)[1]) / 2 + ), + index.keys() + ) + ) +); diff --git a/examples/stratified-grid/src/webpack.d.ts b/examples/stratified-grid/src/webpack.d.ts new file mode 100644 index 0000000000..2966449833 --- /dev/null +++ b/examples/stratified-grid/src/webpack.d.ts @@ -0,0 +1,4 @@ +declare module "*.jpg"; +declare module "*.png"; +declare module "*.svg"; +declare module "*.json"; diff --git a/examples/stratified-grid/tsconfig.json b/examples/stratified-grid/tsconfig.json new file mode 100644 index 0000000000..bbf112cc18 --- /dev/null +++ b/examples/stratified-grid/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": ".", + "target": "es6", + "sourceMap": true + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/examples/stratified-grid/webpack.config.js b/examples/stratified-grid/webpack.config.js new file mode 100644 index 0000000000..bf16021356 --- /dev/null +++ b/examples/stratified-grid/webpack.config.js @@ -0,0 +1,23 @@ +module.exports = { + entry: "./src/index.ts", + output: { + filename: "bundle.[hash].js", + path: __dirname + "/out" + }, + resolve: { + extensions: [".ts", ".js"] + }, + module: { + rules: [ + { + test: /\.(png|jpg|gif)$/, + loader: "file-loader", + options: { name: "[path][hash].[ext]" } + }, + { test: /\.ts$/, use: "ts-loader" } + ] + }, + node: { + process: false + } +}; From 0783ae1cc93dd192c46d37c83618f0f64be7f73b Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:27:12 +0100 Subject: [PATCH 32/43] chore(examples): remove obsolete file --- examples/component/src/index.ts | 124 -------------------------------- 1 file changed, 124 deletions(-) delete mode 100644 examples/component/src/index.ts diff --git a/examples/component/src/index.ts b/examples/component/src/index.ts deleted file mode 100644 index a526600a20..0000000000 --- a/examples/component/src/index.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { IObjectOf, Fn, Keys } from "@thi.ng/api"; -import { DGraph } from "@thi.ng/dgraph"; - -interface IComponent { - start(): boolean; - stop(): boolean; -} - -class Logger implements IComponent { - info(msg: string) { - console.log(`[info] ${msg}`); - } - start() { - this.info("start logger"); - return true; - } - stop() { - this.info("stop logger"); - return true; - } -} - -class DB implements IComponent { - constructor(protected logger: Logger, protected state: State) {} - - start() { - this.logger.info("start db"); - return true; - } - stop() { - this.logger.info("stop db"); - return true; - } -} - -class State implements IComponent { - constructor(protected logger: Logger) {} - - start() { - this.logger.info("start state"); - return true; - } - stop() { - this.logger.info("stop state"); - return true; - } -} - -type SystemMap = Record, IComponent>; - -type ComponentFactory> = Fn; - -type SystemSpecs> = IObjectOf<{ - factory: ComponentFactory; - deps?: Keys[]; -}>; - -class System> { - components: T; - topo: Keys[]; - - constructor(map: SystemSpecs) { - const graph = new DGraph>(); - for (let id in map) { - const deps = map[id].deps; - if (deps) { - for (let d of deps) { - graph.addDependency(>id, d); - } - } else { - graph.addNode(>id); - } - } - this.topo = graph.sort(); - this.components = {}; - for (let id of this.topo) { - (this.components)[id] = map[id].factory(this.components); - } - } - - start() { - for (let id of this.topo) { - if (!this.components[id].start()) { - console.warn(`error starting component: ${id}`); - } - } - } - stop() { - for (let id of this.topo.slice().reverse()) { - if (!this.components[id].stop()) { - console.warn(`error stopping component: ${id}`); - } - } - } -} - -interface FooSys { - db: DB; - logger: Logger; - state: State; - dummy: IComponent; -} - -const foo = new System({ - db: { - factory: (deps) => new DB(deps.logger, deps.state), - deps: ["logger", "state"], - }, - logger: { factory: () => new Logger() }, - state: { - factory: (deps) => new State(deps.logger), - deps: ["logger"], - }, - dummy: { - factory: ({ logger }) => ({ - start: () => ((logger).info("dummy start"), true), - stop: () => ((logger).info("dummy stop"), true), - }), - }, -}); - -foo.start(); - -foo.stop(); From 5437584ba26f209992fe8c010abbc011aca58667 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:28:01 +0100 Subject: [PATCH 33/43] refactor(tools): update readme-examples script, thumb tpl --- tools/src/partials/asset.ts | 8 ++++---- tools/src/readme-examples.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/src/partials/asset.ts b/tools/src/partials/asset.ts index 0499e4a3c1..3f5b7f44b3 100644 --- a/tools/src/partials/asset.ts +++ b/tools/src/partials/asset.ts @@ -1,7 +1,7 @@ import { CONFIG } from "../config"; -export const asset = (file: string, alt = "") => - `![${alt}](${CONFIG.assetURL}/${file})`; +export const asset = (file: string, alt = "", prefix = CONFIG.assetURL) => + `![${alt}](${prefix}/${file})`; -export const thumb = (src: string) => - ``; +export const thumb = (src: string, prefix = CONFIG.assetURL) => + ``; diff --git a/tools/src/readme-examples.ts b/tools/src/readme-examples.ts index e07573d6b8..fd4e569814 100644 --- a/tools/src/readme-examples.ts +++ b/tools/src/readme-examples.ts @@ -7,7 +7,7 @@ import { map, mapKeys, push, - transduce + transduce, } from "@thi.ng/transducers"; import { existsSync, readdirSync, writeFileSync } from "fs"; import { META_FIELD } from "./api"; @@ -39,9 +39,9 @@ try { name: (id) => `[${id}](./${id}/)`, img: (_, ex) => ex[META_FIELD]?.screenshot - ? thumb(ex["thi.ng"].screenshot) + ? thumb(ex["thi.ng"].screenshot, "../assets") : "", - description: (desc) => desc || "TODO" + description: (desc) => desc || "TODO", }, false ) From 09acdbde554c340360759146db5681e541df2656 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:28:27 +0100 Subject: [PATCH 34/43] docs(examples): update example overview table --- examples/README.md | 81 ++++++++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/examples/README.md b/examples/README.md index 9621edfae8..3872f7c4c9 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,7 +1,7 @@ # @thi.ng/umbrella examples -This directory contains a growing number (currently 86) of standalone +This directory contains a growing number (currently 88) of standalone example projects, including live online versions, build instructions and commented source code. @@ -52,47 +52,50 @@ in touch via PR, issue tracker, email or twitter! | 040 | | [interceptor-basics2](./interceptor-basics2/) | Event handling w/ interceptors and side effects | | 041 | | [iso-plasma](./iso-plasma/) | Animated sine plasma effect visualized using contour lines | | 042 | | [json-components](./json-components/) | Transforming JSON into UI components | -| 043 | | [login-form](./login-form/) | Basic SPA example without router | +| 043 | | [login-form](./login-form/) | Basic SPA example with atom-based UI router | | 044 | | [mandelbrot](./mandelbrot/) | Worker based, interactive Mandelbrot visualization | | 045 | | [markdown](./markdown/) | Minimal Markdown to Hiccup to HTML parser / transformer | | 046 | | [multitouch](./multitouch/) | Basic rstream-gestures multi-touch demo | | 047 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats | | 048 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations | | 049 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL | -| 050 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | -| 051 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | -| 052 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | -| 053 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | -| 054 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | -| 055 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | -| 056 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | -| 057 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | -| 058 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | -| 059 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | -| 060 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | -| 061 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | -| 062 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | -| 063 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | -| 064 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | -| 065 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | -| 066 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | -| 067 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | -| 068 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | -| 069 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | -| 070 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | -| 071 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | -| 072 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | -| 073 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | -| 074 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | -| 075 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | -| 076 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | -| 077 | | [triple-query](./triple-query/) | Triple store query results & sortable table | -| 078 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | -| 079 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | -| 080 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | -| 081 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | -| 082 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | -| 083 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | -| 084 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | -| 085 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | -| 086 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | +| 050 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map | +| 051 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | +| 052 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | +| 053 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | +| 054 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | +| 055 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | +| 056 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | +| 057 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | +| 058 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | +| 059 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | +| 060 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | +| 061 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | +| 062 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | +| 063 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | +| 064 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | +| 065 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | +| 066 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | +| 067 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | +| 068 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | +| 069 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | +| 070 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | +| 071 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | +| 072 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | +| 073 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | +| 074 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | +| 075 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | +| 076 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | +| 077 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | +| 078 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | +| 079 | | [triple-query](./triple-query/) | Triple store query results & sortable table | +| 080 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | +| 081 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | +| 082 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | +| 083 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | +| 084 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | +| 085 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | +| 086 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | +| 087 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | +| 088 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | + From 2ffeb1be454734c2ead8a9854f2b33dbed3e80eb Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:34:44 +0100 Subject: [PATCH 35/43] docs(color): add gradient preview tool --- packages/color/tools/index.ts | 19 +++++++++++++++++++ packages/color/tools/tsconfig.json | 10 ++++++++++ 2 files changed, 29 insertions(+) create mode 100644 packages/color/tools/index.ts create mode 100644 packages/color/tools/tsconfig.json diff --git a/packages/color/tools/index.ts b/packages/color/tools/index.ts new file mode 100644 index 0000000000..e3f286c273 --- /dev/null +++ b/packages/color/tools/index.ts @@ -0,0 +1,19 @@ +import { asSvg, rect, svgDoc } from "@thi.ng/geom"; +import { writeFileSync } from "fs"; +import { cosineGradient, GRADIENTS } from "../src"; + +Object.keys(GRADIENTS).forEach((id) => { + const fname = `export/gradient-${id}.svg`; + console.log(fname); + writeFileSync( + fname, + asSvg( + svgDoc( + {}, + ...cosineGradient(100, GRADIENTS[id]).map((col, i) => + rect([i * 5, 0], [5, 50], { fill: col }) + ) + ) + ) + ); +}); diff --git a/packages/color/tools/tsconfig.json b/packages/color/tools/tsconfig.json new file mode 100644 index 0000000000..9655cbea10 --- /dev/null +++ b/packages/color/tools/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs", + "noUnusedLocals": false, + "noUnusedParameters": false + }, + "include": ["./**/*.ts", "../src/**/*.ts"] +} From 47e22e746370b5275d5543c5299fe2752ecd3fe8 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:49:44 +0100 Subject: [PATCH 36/43] docs: update readmes --- packages/geom-accel/README.md | 2 ++ packages/poisson/README.md | 2 ++ packages/porter-duff/README.md | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md index d903a8a0e0..7691cbce59 100644 --- a/packages/geom-accel/README.md +++ b/packages/geom-accel/README.md @@ -80,6 +80,8 @@ A selection: | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | | | Doodle w/ K-nearest neighbor search result visualization | [Demo](https://demo.thi.ng/umbrella/geom-knn/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-knn) | | | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | +| | 2D Poisson-disc sampler with procedural gradient map | [Demo](https://demo.thi.ng/umbrella/poisson-circles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poisson-circles) | +| | 2D Stratified grid sampling example | [Demo](https://demo.thi.ng/umbrella/stratified-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stratified-grid) | ## API diff --git a/packages/poisson/README.md b/packages/poisson/README.md index 685ff2af83..c25ba0c4cf 100644 --- a/packages/poisson/README.md +++ b/packages/poisson/README.md @@ -84,6 +84,8 @@ A selection: | Screenshot | Description | Live demo | Source | | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | | | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | [Demo](https://demo.thi.ng/umbrella/geom-voronoi-mst/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/geom-voronoi-mst) | +| | 2D Poisson-disc sampler with procedural gradient map | [Demo](https://demo.thi.ng/umbrella/poisson-circles/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poisson-circles) | +| | 2D Stratified grid sampling example | [Demo](https://demo.thi.ng/umbrella/stratified-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/stratified-grid) | ## API diff --git a/packages/porter-duff/README.md b/packages/porter-duff/README.md index 579bc2945f..36be53ce4f 100644 --- a/packages/porter-duff/README.md +++ b/packages/porter-duff/README.md @@ -49,7 +49,7 @@ ints or RGBA float vectors. ### Related packages -- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - Typed array backed, packed pixel buffer w/ customizable formats, blitting, conversions +- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions - [@thi.ng/shader-ast-stdlib](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast-stdlib) - Function collection for modular GPGPU / shader programming with [@thi.ng/shader-ast](https://github.com/thi-ng/umbrella/tree/develop/packages/shader-ast) ## Installation From 1dade92dbdf699ea3bcd75844e311456c1d99ee3 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 29 May 2020 17:52:00 +0100 Subject: [PATCH 37/43] Publish - @thi.ng/adjacency@0.1.45 - @thi.ng/associative@4.0.9 - @thi.ng/bencode@0.3.24 - @thi.ng/cache@1.0.44 - @thi.ng/color@1.2.0 - @thi.ng/csp@1.1.24 - @thi.ng/dcons@2.2.17 - @thi.ng/dgraph-dot@0.1.9 - @thi.ng/dgraph@1.2.9 - @thi.ng/dsp-io-wav@0.1.14 - @thi.ng/dsp@2.0.16 - @thi.ng/ecs@0.3.16 - @thi.ng/fsm@2.4.10 - @thi.ng/geom-accel@2.1.6 - @thi.ng/geom-api@1.0.18 - @thi.ng/geom-arc@0.2.29 - @thi.ng/geom-clip-line@1.0.16 - @thi.ng/geom-clip-poly@1.0.16 - @thi.ng/geom-closest-point@0.3.29 - @thi.ng/geom-hull@0.0.49 - @thi.ng/geom-io-obj@0.1.7 - @thi.ng/geom-isec@0.4.18 - @thi.ng/geom-isoline@0.1.47 - @thi.ng/geom-poly-utils@0.1.47 - @thi.ng/geom-resample@0.2.29 - @thi.ng/geom-splines@0.5.16 - @thi.ng/geom-subdiv-curve@0.1.46 - @thi.ng/geom-tessellate@0.2.29 - @thi.ng/geom-voronoi@0.1.47 - @thi.ng/geom@1.9.5 - @thi.ng/gp@0.1.17 - @thi.ng/grid-iterators@0.3.14 - @thi.ng/hdom-canvas@2.4.24 - @thi.ng/hdom-components@3.2.10 - @thi.ng/hiccup-css@1.1.24 - @thi.ng/hiccup-markdown@1.2.13 - @thi.ng/hiccup-svg@3.4.20 - @thi.ng/iges@1.1.31 - @thi.ng/imgui@0.2.18 - @thi.ng/iterators@5.1.24 - @thi.ng/leb128@1.0.18 - @thi.ng/lsys@0.2.44 - @thi.ng/matrices@0.6.16 - @thi.ng/pixel@0.3.0 - @thi.ng/poisson@1.1.0 - @thi.ng/ramp@0.1.18 - @thi.ng/range-coder@1.0.44 - @thi.ng/rstream-csp@2.0.22 - @thi.ng/rstream-dot@1.1.29 - @thi.ng/rstream-gestures@2.0.21 - @thi.ng/rstream-graph@3.2.22 - @thi.ng/rstream-log-file@0.1.44 - @thi.ng/rstream-log@3.1.29 - @thi.ng/rstream-query@1.1.29 - @thi.ng/rstream@4.3.3 - @thi.ng/sax@1.1.24 - @thi.ng/scenegraph@0.1.19 - @thi.ng/shader-ast-glsl@0.1.27 - @thi.ng/shader-ast-js@0.4.23 - @thi.ng/shader-ast-stdlib@0.3.20 - @thi.ng/shader-ast@0.3.21 - @thi.ng/simd@0.2.1 - @thi.ng/soa@0.1.20 - @thi.ng/sparse@0.1.40 - @thi.ng/system@0.2.9 - @thi.ng/text-canvas@0.2.13 - @thi.ng/transducers-binary@0.5.14 - @thi.ng/transducers-fsm@1.1.24 - @thi.ng/transducers-hdom@2.0.53 - @thi.ng/transducers-patch@0.1.15 - @thi.ng/transducers-stats@1.1.24 - @thi.ng/transducers@6.6.0 - @thi.ng/vector-pools@1.0.29 - @thi.ng/vectors@4.4.1 - @thi.ng/webgl-msdf@0.1.33 - @thi.ng/webgl-shadertoy@0.2.20 - @thi.ng/webgl@1.0.15 --- packages/adjacency/CHANGELOG.md | 8 ++++++ packages/adjacency/package.json | 8 +++--- packages/associative/CHANGELOG.md | 8 ++++++ packages/associative/package.json | 6 ++--- packages/bencode/CHANGELOG.md | 8 ++++++ packages/bencode/package.json | 6 ++--- packages/cache/CHANGELOG.md | 8 ++++++ packages/cache/package.json | 6 ++--- packages/color/CHANGELOG.md | 11 ++++++++ packages/color/package.json | 6 ++--- packages/csp/CHANGELOG.md | 8 ++++++ packages/csp/package.json | 6 ++--- packages/dcons/CHANGELOG.md | 8 ++++++ packages/dcons/package.json | 4 +-- packages/dgraph-dot/CHANGELOG.md | 8 ++++++ packages/dgraph-dot/package.json | 4 +-- packages/dgraph/CHANGELOG.md | 8 ++++++ packages/dgraph/package.json | 6 ++--- packages/dsp-io-wav/CHANGELOG.md | 8 ++++++ packages/dsp-io-wav/package.json | 6 ++--- packages/dsp/CHANGELOG.md | 8 ++++++ packages/dsp/package.json | 4 +-- packages/ecs/CHANGELOG.md | 8 ++++++ packages/ecs/package.json | 8 +++--- packages/fsm/CHANGELOG.md | 8 ++++++ packages/fsm/package.json | 4 +-- packages/geom-accel/CHANGELOG.md | 8 ++++++ packages/geom-accel/package.json | 10 +++---- packages/geom-api/CHANGELOG.md | 8 ++++++ packages/geom-api/package.json | 4 +-- packages/geom-arc/CHANGELOG.md | 8 ++++++ packages/geom-arc/package.json | 8 +++--- packages/geom-clip-line/CHANGELOG.md | 8 ++++++ packages/geom-clip-line/package.json | 4 +-- packages/geom-clip-poly/CHANGELOG.md | 8 ++++++ packages/geom-clip-poly/package.json | 8 +++--- packages/geom-closest-point/CHANGELOG.md | 8 ++++++ packages/geom-closest-point/package.json | 4 +-- packages/geom-hull/CHANGELOG.md | 3 +++ packages/geom-hull/package.json | 4 +-- packages/geom-io-obj/CHANGELOG.md | 8 ++++++ packages/geom-io-obj/package.json | 4 +-- packages/geom-isec/CHANGELOG.md | 8 ++++++ packages/geom-isec/package.json | 8 +++--- packages/geom-isoline/CHANGELOG.md | 8 ++++++ packages/geom-isoline/package.json | 6 ++--- packages/geom-poly-utils/CHANGELOG.md | 8 ++++++ packages/geom-poly-utils/package.json | 6 ++--- packages/geom-resample/CHANGELOG.md | 8 ++++++ packages/geom-resample/package.json | 8 +++--- packages/geom-splines/CHANGELOG.md | 8 ++++++ packages/geom-splines/package.json | 10 +++---- packages/geom-subdiv-curve/CHANGELOG.md | 8 ++++++ packages/geom-subdiv-curve/package.json | 8 +++--- packages/geom-tessellate/CHANGELOG.md | 8 ++++++ packages/geom-tessellate/package.json | 12 ++++----- packages/geom-voronoi/CHANGELOG.md | 8 ++++++ packages/geom-voronoi/package.json | 12 ++++----- packages/geom/CHANGELOG.md | 8 ++++++ packages/geom/package.json | 34 ++++++++++++------------ packages/gp/CHANGELOG.md | 8 ++++++ packages/gp/package.json | 4 +-- packages/grid-iterators/CHANGELOG.md | 8 ++++++ packages/grid-iterators/package.json | 4 +-- packages/hdom-canvas/CHANGELOG.md | 8 ++++++ packages/hdom-canvas/package.json | 6 ++--- packages/hdom-components/CHANGELOG.md | 8 ++++++ packages/hdom-components/package.json | 6 ++--- packages/hiccup-css/CHANGELOG.md | 8 ++++++ packages/hiccup-css/package.json | 4 +-- packages/hiccup-markdown/CHANGELOG.md | 8 ++++++ packages/hiccup-markdown/package.json | 8 +++--- packages/hiccup-svg/CHANGELOG.md | 8 ++++++ packages/hiccup-svg/package.json | 4 +-- packages/iges/CHANGELOG.md | 8 ++++++ packages/iges/package.json | 6 ++--- packages/imgui/CHANGELOG.md | 8 ++++++ packages/imgui/package.json | 14 +++++----- packages/iterators/CHANGELOG.md | 8 ++++++ packages/iterators/package.json | 4 +-- packages/leb128/CHANGELOG.md | 8 ++++++ packages/leb128/package.json | 4 +-- packages/lsys/CHANGELOG.md | 8 ++++++ packages/lsys/package.json | 6 ++--- packages/matrices/CHANGELOG.md | 8 ++++++ packages/matrices/package.json | 4 +-- packages/pixel/CHANGELOG.md | 13 +++++++++ packages/pixel/package.json | 2 +- packages/poisson/CHANGELOG.md | 11 ++++++++ packages/poisson/package.json | 8 +++--- packages/ramp/CHANGELOG.md | 8 ++++++ packages/ramp/package.json | 6 ++--- packages/range-coder/CHANGELOG.md | 8 ++++++ packages/range-coder/package.json | 4 +-- packages/rstream-csp/CHANGELOG.md | 8 ++++++ packages/rstream-csp/package.json | 6 ++--- packages/rstream-dot/CHANGELOG.md | 8 ++++++ packages/rstream-dot/package.json | 4 +-- packages/rstream-gestures/CHANGELOG.md | 8 ++++++ packages/rstream-gestures/package.json | 6 ++--- packages/rstream-graph/CHANGELOG.md | 8 ++++++ packages/rstream-graph/package.json | 6 ++--- packages/rstream-log-file/CHANGELOG.md | 8 ++++++ packages/rstream-log-file/package.json | 4 +-- packages/rstream-log/CHANGELOG.md | 8 ++++++ packages/rstream-log/package.json | 6 ++--- packages/rstream-query/CHANGELOG.md | 8 ++++++ packages/rstream-query/package.json | 10 +++---- packages/rstream/CHANGELOG.md | 8 ++++++ packages/rstream/package.json | 6 ++--- packages/sax/CHANGELOG.md | 8 ++++++ packages/sax/package.json | 6 ++--- packages/scenegraph/CHANGELOG.md | 8 ++++++ packages/scenegraph/package.json | 6 ++--- packages/shader-ast-glsl/CHANGELOG.md | 8 ++++++ packages/shader-ast-glsl/package.json | 4 +-- packages/shader-ast-js/CHANGELOG.md | 8 ++++++ packages/shader-ast-js/package.json | 10 +++---- packages/shader-ast-stdlib/CHANGELOG.md | 8 ++++++ packages/shader-ast-stdlib/package.json | 4 +-- packages/shader-ast/CHANGELOG.md | 8 ++++++ packages/shader-ast/package.json | 4 +-- packages/simd/CHANGELOG.md | 8 ++++++ packages/simd/package.json | 6 ++--- packages/soa/CHANGELOG.md | 8 ++++++ packages/soa/package.json | 6 ++--- packages/sparse/CHANGELOG.md | 8 ++++++ packages/sparse/package.json | 4 +-- packages/system/CHANGELOG.md | 8 ++++++ packages/system/package.json | 4 +-- packages/text-canvas/CHANGELOG.md | 8 ++++++ packages/text-canvas/package.json | 6 ++--- packages/transducers-binary/CHANGELOG.md | 8 ++++++ packages/transducers-binary/package.json | 4 +-- packages/transducers-fsm/CHANGELOG.md | 8 ++++++ packages/transducers-fsm/package.json | 4 +-- packages/transducers-hdom/CHANGELOG.md | 8 ++++++ packages/transducers-hdom/package.json | 4 +-- packages/transducers-patch/CHANGELOG.md | 8 ++++++ packages/transducers-patch/package.json | 4 +-- packages/transducers-stats/CHANGELOG.md | 8 ++++++ packages/transducers-stats/package.json | 6 ++--- packages/transducers/CHANGELOG.md | 11 ++++++++ packages/transducers/package.json | 2 +- packages/vector-pools/CHANGELOG.md | 8 ++++++ packages/vector-pools/package.json | 6 ++--- packages/vectors/CHANGELOG.md | 8 ++++++ packages/vectors/package.json | 4 +-- packages/webgl-msdf/CHANGELOG.md | 8 ++++++ packages/webgl-msdf/package.json | 12 ++++----- packages/webgl-shadertoy/CHANGELOG.md | 8 ++++++ packages/webgl-shadertoy/package.json | 10 +++---- packages/webgl/CHANGELOG.md | 8 ++++++ packages/webgl/package.json | 20 +++++++------- 154 files changed, 876 insertions(+), 251 deletions(-) diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 5d75ce1cf3..46f0301b23 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.44...@thi.ng/adjacency@0.1.45) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/adjacency + + + + + ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.6...@thi.ng/adjacency@0.1.7) (2019-03-18) ### Performance Improvements diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 55a587010d..937b57ca37 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.1.44", + "version": "0.1.45", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", @@ -48,8 +48,8 @@ "@thi.ng/binary": "^2.0.7", "@thi.ng/bitfield": "^0.3.9", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.16", - "@thi.ng/sparse": "^0.1.39", + "@thi.ng/dcons": "^2.2.17", + "@thi.ng/sparse": "^0.1.40", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 079cea2d6b..03ea9cfea5 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.8...@thi.ng/associative@4.0.9) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/associative + + + + + # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@3.1.8...@thi.ng/associative@4.0.0) (2020-03-28) diff --git a/packages/associative/package.json b/packages/associative/package.json index f92bdaa61e..5c02655b51 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "4.0.8", + "version": "4.0.9", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -47,10 +47,10 @@ "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/compare": "^1.3.6", - "@thi.ng/dcons": "^2.2.16", + "@thi.ng/dcons": "^2.2.17", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index 1c52f9f733..7693b88c5f 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.23...@thi.ng/bencode@0.3.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/bencode + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.2.17...@thi.ng/bencode@0.3.0) (2019-07-07) ### Features diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 75a47ad195..6b885504c8 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.23", + "version": "0.3.24", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -48,8 +48,8 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/defmulti": "^1.2.15", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/transducers-binary": "^0.5.13", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers-binary": "^0.5.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index 2ae3e93427..e80ab9a0a8 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.43...@thi.ng/cache@1.0.44) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/cache + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.40...@thi.ng/cache@1.0.0) (2019-01-21) ### Bug Fixes diff --git a/packages/cache/package.json b/packages/cache/package.json index e7ae713ab5..218b1e24ae 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.43", + "version": "1.0.44", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -44,8 +44,8 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/dcons": "^2.2.16", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/dcons": "^2.2.17", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index 99c08829d2..a6f8f9b176 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.21...@thi.ng/color@1.2.0) (2020-05-29) + + +### Features + +* **color:** add gradient presets ([2f93581](https://github.com/thi-ng/umbrella/commit/2f93581ca69f79df38ee6aa2697632c572fb55fc)) + + + + + ## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.1...@thi.ng/color@1.1.2) (2019-11-09) ### Bug Fixes diff --git a/packages/color/package.json b/packages/color/package.json index 5c2f1d572d..b905a0eabe 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "1.1.21", + "version": "1.2.0", "description": "Array-based color ops, conversions, multi-color gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -50,8 +50,8 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index eaeaac92e9..1d9a002a26 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.23...@thi.ng/csp@1.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/csp + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.0.19...@thi.ng/csp@1.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/csp/package.json b/packages/csp/package.json index 874ba7519d..747a750c3c 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.23", + "version": "1.1.24", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -50,9 +50,9 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/arrays": "^0.6.7", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.16", + "@thi.ng/dcons": "^2.2.17", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index e0964f4591..f9007fda33 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.16...@thi.ng/dcons@2.2.17) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.1.6...@thi.ng/dcons@2.2.0) (2019-11-30) ### Features diff --git a/packages/dcons/package.json b/packages/dcons/package.json index fbe85c2786..98649788e4 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.2.16", + "version": "2.2.17", "description": "Double-linked list with comprehensive set of operations", "module": "./index.js", "main": "./lib/index.js", @@ -49,7 +49,7 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index 9021667565..a8062a39d2 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.8...@thi.ng/dgraph-dot@0.1.9) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/dgraph-dot + + + + + # 0.1.0 (2020-04-03) diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json index 8bd4af4cea..e37899dc2a 100644 --- a/packages/dgraph-dot/package.json +++ b/packages/dgraph-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph-dot", - "version": "0.1.8", + "version": "0.1.9", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/dgraph": "^1.2.8", + "@thi.ng/dgraph": "^1.2.9", "@thi.ng/dot": "^1.2.7" }, "files": [ diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 52e325513a..bc97210c4e 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.8...@thi.ng/dgraph@1.2.9) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.1.25...@thi.ng/dgraph@1.2.0) (2020-04-03) diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index aca8d54756..8b09d626ce 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.2.8", + "version": "1.2.9", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.8", + "@thi.ng/associative": "^4.0.9", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index 1158321d1a..8cd44e6174 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.13...@thi.ng/dsp-io-wav@0.1.14) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/dsp-io-wav + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index e1c9312789..53f4b685f9 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp-io-wav", - "version": "0.1.13", + "version": "0.1.14", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -45,8 +45,8 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/binary": "^2.0.7", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/transducers-binary": "^0.5.13", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers-binary": "^0.5.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 8aaa5df03b..bf6b47ca23 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.15...@thi.ng/dsp@2.0.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@1.0.18...@thi.ng/dsp@2.0.0) (2020-01-24) ### Code Refactoring diff --git a/packages/dsp/package.json b/packages/dsp/package.json index d3823190e1..1c418ade54 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "2.0.15", + "version": "2.0.16", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 990b6ada09..77cf1d30e5 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.15...@thi.ng/ecs@0.3.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/ecs + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.2.0...@thi.ng/ecs@0.3.0) (2020-01-24) ### Bug Fixes diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 65733c7138..4cfa0087d3 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.3.15", + "version": "0.3.16", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -45,12 +45,12 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.8", + "@thi.ng/associative": "^4.0.9", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.16", + "@thi.ng/dcons": "^2.2.17", "@thi.ng/idgen": "^0.2.13", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 785ca9176a..6b7d16a6d9 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.9...@thi.ng/fsm@2.4.10) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/fsm + + + + + # [2.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.3.7...@thi.ng/fsm@2.4.0) (2020-03-06) diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 8f7a379e65..df985418bf 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.9", + "version": "2.4.10", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index 7404a929a1..299c7f9a88 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.5...@thi.ng/geom-accel@2.1.6) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-accel + + + + + # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.0.11...@thi.ng/geom-accel@2.1.0) (2020-04-23) diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 28b19ada89..85e4b8d24d 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "2.1.5", + "version": "2.1.6", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -48,12 +48,12 @@ "@thi.ng/arrays": "^0.6.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-isec": "^0.4.17", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-isec": "^0.4.18", "@thi.ng/heaps": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index a7c11d6a02..e0423a3bc4 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.17...@thi.ng/geom-api@1.0.18) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-api + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@0.3.8...@thi.ng/geom-api@1.0.0) (2020-01-24) ### Features diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index ad619b520e..35662acf88 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "1.0.17", + "version": "1.0.18", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 9e04e4e9a7..ef33f539a8 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.28...@thi.ng/geom-arc@0.2.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-arc + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.1.17...@thi.ng/geom-arc@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index b704d80926..fe8409042a 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-arc", - "version": "0.2.28", + "version": "0.2.29", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-resample": "^0.2.28", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-resample": "^0.2.29", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index 5f1b41ff15..2fb8b9292f 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.15...@thi.ng/geom-clip-line@1.0.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-clip-line + + + + + # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index ac26070131..0c9e22d4e4 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-line", - "version": "1.0.15", + "version": "1.0.16", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index 7776b2fd56..a418ec61cd 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.15...@thi.ng/geom-clip-poly@1.0.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-clip-poly + + + + + # 1.0.0 (2020-02-25) diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 2ba18999f3..6019209fdf 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-poly", - "version": "1.0.15", + "version": "1.0.16", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/geom-isec": "^0.4.17", - "@thi.ng/geom-poly-utils": "^0.1.46", + "@thi.ng/geom-isec": "^0.4.18", + "@thi.ng/geom-poly-utils": "^0.1.47", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index be61165aa5..e71823bdc9 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.28...@thi.ng/geom-closest-point@0.3.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-closest-point + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.2.3...@thi.ng/geom-closest-point@0.3.0) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 74c0e431f8..8ab325e1f9 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-closest-point", - "version": "0.3.28", + "version": "0.3.29", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index 767840ada8..35780e517e 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,3 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.48...@thi.ng/geom-hull@0.0.49) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 435a4ae976..8f84625e05 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-hull", - "version": "0.0.48", + "version": "0.0.49", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index bd1623f335..694de0fa6e 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.6...@thi.ng/geom-io-obj@0.1.7) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-io-obj + + + + + # 0.1.0 (2020-04-20) diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json index 34a2e8a71d..65d2c01aa1 100644 --- a/packages/geom-io-obj/package.json +++ b/packages/geom-io-obj/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-io-obj", - "version": "0.1.6", + "version": "0.1.7", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/vectors": "^4.4.0" + "@thi.ng/vectors": "^4.4.1" }, "files": [ "*.js", diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 3e1212a027..a7873ec840 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.17...@thi.ng/geom-isec@0.4.18) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-isec + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.3.10...@thi.ng/geom-isec@0.4.0) (2020-01-24) ### Features diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index 3e848f1c2e..c5acd0a98e 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.4.17", + "version": "0.4.18", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-closest-point": "^0.3.28", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-closest-point": "^0.3.29", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index a8d7c3d870..0e0b25c983 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.46...@thi.ng/geom-isoline@0.1.47) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-isoline + + + + + ## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.24...@thi.ng/geom-isoline@0.1.25) (2019-08-21) ### Performance Improvements diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 9d2f66646b..0a22c706ed 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isoline", - "version": "0.1.46", + "version": "0.1.47", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index f3ae25ae71..72e7817331 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.46...@thi.ng/geom-poly-utils@0.1.47) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-poly-utils + + + + + ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.17...@thi.ng/geom-poly-utils@0.1.18) (2019-07-07) ### Bug Fixes diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 48283860ad..3760898942 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-poly-utils", - "version": "0.1.46", + "version": "0.1.47", "description": "2D polygon / triangle analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -44,9 +44,9 @@ }, "dependencies": { "@thi.ng/errors": "^1.2.14", - "@thi.ng/geom-api": "^1.0.17", + "@thi.ng/geom-api": "^1.0.18", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 57290c39f8..30ee17e2af 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.28...@thi.ng/geom-resample@0.2.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-resample + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.1.17...@thi.ng/geom-resample@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 1294621e99..9aaa287b76 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-resample", - "version": "0.2.28", + "version": "0.2.29", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-closest-point": "^0.3.28", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-closest-point": "^0.3.29", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index e85463a01f..6248488d0d 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.15...@thi.ng/geom-splines@0.5.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-splines + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.4.5...@thi.ng/geom-splines@0.5.0) (2020-02-25) diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 04a1b1adf2..c7dd73e125 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-splines", - "version": "0.5.15", + "version": "0.5.16", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-arc": "^0.2.28", - "@thi.ng/geom-resample": "^0.2.28", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-arc": "^0.2.29", + "@thi.ng/geom-resample": "^0.2.29", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index d776894b65..8e084fefa6 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.45...@thi.ng/geom-subdiv-curve@0.1.46) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-subdiv-curve + + + + + # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 61aebccc77..2eab82dd13 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-subdiv-curve", - "version": "0.1.45", + "version": "0.1.46", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index fbd9865da0..5e466ef376 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.28...@thi.ng/geom-tessellate@0.2.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-tessellate + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.1.17...@thi.ng/geom-tessellate@0.2.0) (2019-07-07) ### Features diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index d6355c4543..0acdb71e6f 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-tessellate", - "version": "0.2.28", + "version": "0.2.29", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-isec": "^0.4.17", - "@thi.ng/geom-poly-utils": "^0.1.46", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-isec": "^0.4.18", + "@thi.ng/geom-poly-utils": "^0.1.47", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 9ead259193..642a1b5530 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.46...@thi.ng/geom-voronoi@0.1.47) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom-voronoi + + + + + # 0.1.0 (2019-02-05) ### Features diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 5b9f2a899e..4c7dbd8967 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-voronoi", - "version": "0.1.46", + "version": "0.1.47", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -45,13 +45,13 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-clip-line": "^1.0.15", - "@thi.ng/geom-clip-poly": "^1.0.15", - "@thi.ng/geom-isec": "^0.4.17", - "@thi.ng/geom-poly-utils": "^0.1.46", + "@thi.ng/geom-clip-line": "^1.0.16", + "@thi.ng/geom-clip-poly": "^1.0.16", + "@thi.ng/geom-isec": "^0.4.18", + "@thi.ng/geom-poly-utils": "^0.1.47", "@thi.ng/math": "^1.7.10", "@thi.ng/quad-edge": "^0.2.16", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index 6fbe8b555e..ba6f25da52 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.4...@thi.ng/geom@1.9.5) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/geom + + + + + ## [1.9.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.2...@thi.ng/geom@1.9.3) (2020-05-14) diff --git a/packages/geom/package.json b/packages/geom/package.json index 04ed62c5a4..a083917421 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "1.9.4", + "version": "1.9.5", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -50,25 +50,25 @@ "@thi.ng/defmulti": "^1.2.15", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-arc": "^0.2.28", - "@thi.ng/geom-clip-line": "^1.0.15", - "@thi.ng/geom-clip-poly": "^1.0.15", - "@thi.ng/geom-closest-point": "^0.3.28", - "@thi.ng/geom-hull": "^0.0.48", - "@thi.ng/geom-isec": "^0.4.17", - "@thi.ng/geom-poly-utils": "^0.1.46", - "@thi.ng/geom-resample": "^0.2.28", - "@thi.ng/geom-splines": "^0.5.15", - "@thi.ng/geom-subdiv-curve": "^0.1.45", - "@thi.ng/geom-tessellate": "^0.2.28", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-arc": "^0.2.29", + "@thi.ng/geom-clip-line": "^1.0.16", + "@thi.ng/geom-clip-poly": "^1.0.16", + "@thi.ng/geom-closest-point": "^0.3.29", + "@thi.ng/geom-hull": "^0.0.49", + "@thi.ng/geom-isec": "^0.4.18", + "@thi.ng/geom-poly-utils": "^0.1.47", + "@thi.ng/geom-resample": "^0.2.29", + "@thi.ng/geom-splines": "^0.5.16", + "@thi.ng/geom-subdiv-curve": "^0.1.46", + "@thi.ng/geom-tessellate": "^0.2.29", "@thi.ng/hiccup": "^3.2.23", - "@thi.ng/hiccup-svg": "^3.4.19", + "@thi.ng/hiccup-svg": "^3.4.20", "@thi.ng/math": "^1.7.10", - "@thi.ng/matrices": "^0.6.15", + "@thi.ng/matrices": "^0.6.16", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index d3c7964d87..30dc04abf9 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.16...@thi.ng/gp@0.1.17) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/gp + + + + + # 0.1.0 (2019-11-30) ### Bug Fixes diff --git a/packages/gp/package.json b/packages/gp/package.json index a7119c63bb..a5c1b21b00 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.1.16", + "version": "0.1.17", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/math": "^1.7.10", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "@thi.ng/zipper": "^0.1.15", "tslib": "^1.12.0" }, diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index e3f4cf11a4..dae559fc0c 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.13...@thi.ng/grid-iterators@0.3.14) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/grid-iterators + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.2.3...@thi.ng/grid-iterators@0.3.0) (2020-02-25) diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index 1ba09845ce..e04c0e5111 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/grid-iterators", - "version": "0.3.13", + "version": "0.3.14", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -48,7 +48,7 @@ "@thi.ng/binary": "^2.0.7", "@thi.ng/morton": "^2.0.13", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index ac7777a93b..7706f5b7ff 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.23...@thi.ng/hdom-canvas@2.4.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.1...@thi.ng/hdom-canvas@2.4.2) (2020-01-24) ### Bug Fixes diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index fb17c6a00b..ca6dfa0f3c 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "2.4.23", + "version": "2.4.24", "description": "Declarative canvas scenegraph & visualization for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -45,11 +45,11 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/color": "^1.1.21", + "@thi.ng/color": "^1.2.0", "@thi.ng/diff": "^3.2.21", "@thi.ng/hdom": "^8.0.26", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 4aa4e00f70..93b45ffa90 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.9...@thi.ng/hdom-components@3.2.10) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.1.13...@thi.ng/hdom-components@3.2.0) (2020-03-06) diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 9862947a95..a7c1a505a4 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "3.2.9", + "version": "3.2.10", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -46,8 +46,8 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/transducers-stats": "^1.1.23", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers-stats": "^1.1.24", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index da135b5162..b960a1296f 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.23...@thi.ng/hiccup-css@1.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.0.19...@thi.ng/hiccup-css@1.1.0) (2019-07-07) ### Features diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index f5b83d2385..bf32c6330f 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "1.1.23", + "version": "1.1.24", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index 03e7165551..e7e87800cd 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.12...@thi.ng/hiccup-markdown@1.2.13) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/hiccup-markdown + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.1.14...@thi.ng/hiccup-markdown@1.2.0) (2020-03-28) diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index e41bac0a0c..8890c1bf39 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.12", + "version": "1.2.13", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -47,11 +47,11 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/defmulti": "^1.2.15", "@thi.ng/errors": "^1.2.14", - "@thi.ng/fsm": "^2.4.9", + "@thi.ng/fsm": "^2.4.10", "@thi.ng/hiccup": "^3.2.23", "@thi.ng/strings": "^1.8.8", - "@thi.ng/text-canvas": "^0.2.12", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/text-canvas": "^0.2.13", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index c86c4fe6c1..3d67bd4b0c 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.19...@thi.ng/hiccup-svg@3.4.20) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + # [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.3.3...@thi.ng/hiccup-svg@3.4.0) (2020-01-24) ### Features diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 40ce64c1fc..bb625c19a5 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.4.19", + "version": "3.4.20", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/color": "^1.1.21", + "@thi.ng/color": "^1.2.0", "@thi.ng/hiccup": "^3.2.23", "tslib": "^1.12.0" }, diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index e8c3a801bb..97a1e753bf 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.30...@thi.ng/iges@1.1.31) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/iges + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.0.15...@thi.ng/iges@1.1.0) (2019-04-15) ### Features diff --git a/packages/iges/package.json b/packages/iges/package.json index 4642754263..9301da60b3 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.30", + "version": "1.1.31", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -47,8 +47,8 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/defmulti": "^1.2.15", "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 38a6e00560..465604aec0 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.17...@thi.ng/imgui@0.2.18) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.1.7...@thi.ng/imgui@0.2.0) (2020-02-25) diff --git a/packages/imgui/package.json b/packages/imgui/package.json index a3753a1c69..871e4d911e 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.17", + "version": "0.2.18", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -45,14 +45,14 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom": "^1.9.4", - "@thi.ng/geom-api": "^1.0.17", - "@thi.ng/geom-isec": "^0.4.17", - "@thi.ng/geom-tessellate": "^0.2.28", + "@thi.ng/geom": "^1.9.5", + "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-isec": "^0.4.18", + "@thi.ng/geom-tessellate": "^0.2.29", "@thi.ng/layout": "^0.1.11", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index 5f13fc94f7..3260c82e75 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.23...@thi.ng/iterators@5.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.0.19...@thi.ng/iterators@5.1.0) (2019-07-07) ### Bug Fixes diff --git a/packages/iterators/package.json b/packages/iterators/package.json index ab2c93122d..8d6a39dd9f 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.23", + "version": "5.1.24", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/dcons": "^2.2.16", + "@thi.ng/dcons": "^2.2.17", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index d45d5109d1..e5569ede3b 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.17...@thi.ng/leb128@1.0.18) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/leb128 + + + + + ## [1.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.0...@thi.ng/leb128@1.0.1) (2019-11-30) ### Bug Fixes diff --git a/packages/leb128/package.json b/packages/leb128/package.json index fbbab3a38f..e9fa438019 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.17", + "version": "1.0.18", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "dependencies": { "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers-binary": "^0.5.13", + "@thi.ng/transducers-binary": "^0.5.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index 24fc99ee9b..1e7b63e74b 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.43...@thi.ng/lsys@0.2.44) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/lsys + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.1.0...@thi.ng/lsys@0.2.0) (2019-02-26) ### Features diff --git a/packages/lsys/package.json b/packages/lsys/package.json index c609949362..9cfe751c34 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.43", + "version": "0.2.44", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -48,8 +48,8 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index baaa3f2b6d..e4285f2341 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.15...@thi.ng/matrices@0.6.16) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/matrices + + + + + # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.5.12...@thi.ng/matrices@0.6.0) (2020-02-25) diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 2ebe651b7d..216d272a67 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.15", + "version": "0.6.16", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 9fbb05b8b9..f358d1a39c 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.2.0...@thi.ng/pixel@0.3.0) (2020-05-29) + + +### Features + +* **pixel:** add dither support for int buffers/formats ([4475fc1](https://github.com/thi-ng/umbrella/commit/4475fc14c65029e88a7216519350527fa3d2c3dc)) +* **pixel:** add FloatBuffer and float format support ([d6c490f](https://github.com/thi-ng/umbrella/commit/d6c490fb22b3d43f188f85662bb431f59daa7f32)) +* **pixel:** add/update float formats, tests ([6eb1f67](https://github.com/thi-ng/umbrella/commit/6eb1f671858c234e53f231ad8af0f07f2a423d96)) + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.1.20...@thi.ng/pixel@0.2.0) (2020-05-19) diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 7cd5034ca7..7b03e6ada1 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.2.0", + "version": "0.3.0", "description": "Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 53f520a28d..92405c60e4 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.17...@thi.ng/poisson@1.1.0) (2020-05-29) + + +### Features + +* **poisson:** add stratifiedGrid(), restructure pkg ([62cd31a](https://github.com/thi-ng/umbrella/commit/62cd31a87236daaf4089543aa49e847827bb8b55)) + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@0.2.27...@thi.ng/poisson@1.0.0) (2020-01-24) ### Features diff --git a/packages/poisson/package.json b/packages/poisson/package.json index a0192fb58e..b750b70865 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.0.17", + "version": "1.1.0", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.17", + "@thi.ng/geom-api": "^1.0.18", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 20c329a0af..270f30d1b9 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.17...@thi.ng/ramp@0.1.18) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/ramp + + + + + # 0.1.0 (2020-01-24) ### Features diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 062cd6bf93..23a8e72c19 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.17", + "version": "0.1.18", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -47,8 +47,8 @@ "@thi.ng/arrays": "^0.6.7", "@thi.ng/compare": "^1.3.6", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index ee07517104..f9010d740d 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.43...@thi.ng/range-coder@1.0.44) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.28...@thi.ng/range-coder@1.0.0) (2019-01-21) ### Build System diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 0a49bb318a..5b279ad9da 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "1.0.43", + "version": "1.0.44", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 1d09004480..37bb031900 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.21...@thi.ng/rstream-csp@2.0.22) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@1.0.33...@thi.ng/rstream-csp@2.0.0) (2019-11-30) ### Code Refactoring diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index c1190ec28f..495e6c1493 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.21", + "version": "2.0.22", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/csp": "^1.1.23", - "@thi.ng/rstream": "^4.3.2", + "@thi.ng/csp": "^1.1.24", + "@thi.ng/rstream": "^4.3.3", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 27b3c838c9..357838bf3f 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.28...@thi.ng/rstream-dot@1.1.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.0.26...@thi.ng/rstream-dot@1.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 6baf5b6c36..84e4c0ee4b 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.28", + "version": "1.1.29", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.2", + "@thi.ng/rstream": "^4.3.3", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index b0615386e7..807f833133 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.20...@thi.ng/rstream-gestures@2.0.21) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@1.3.0...@thi.ng/rstream-gestures@2.0.0) (2020-01-24) ### Bug Fixes diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index a127e3acbe..1662e73ee3 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.20", + "version": "2.0.21", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -46,8 +46,8 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.2", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/rstream": "^4.3.3", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 484e646d10..4f74b5a37d 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.21...@thi.ng/rstream-graph@3.2.22) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.1.8...@thi.ng/rstream-graph@3.2.0) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index ea87d5dc67..8879ce5b00 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.21", + "version": "3.2.22", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -48,8 +48,8 @@ "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", "@thi.ng/resolve-map": "^4.1.24", - "@thi.ng/rstream": "^4.3.2", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/rstream": "^4.3.3", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index b9df57e808..29266e6c31 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.43...@thi.ng/rstream-log-file@0.1.44) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + # 0.1.0 (2019-03-19) ### Features diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index b1558b7656..d4d21c5149 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.43", + "version": "0.1.44", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.2", + "@thi.ng/rstream": "^4.3.3", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 252dad972a..f15242c5ca 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.28...@thi.ng/rstream-log@3.1.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.0.14...@thi.ng/rstream-log@3.1.0) (2019-07-07) ### Features diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index b1c6e41c55..51998ceb6d 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.28", + "version": "3.1.29", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -46,8 +46,8 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.3.2", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/rstream": "^4.3.3", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 4dba714ee9..2e95459a8b 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.28...@thi.ng/rstream-query@1.1.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.6...@thi.ng/rstream-query@1.1.7) (2019-11-30) ### Bug Fixes diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index e35d7a4951..5a160b5216 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.28", + "version": "1.1.29", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -44,14 +44,14 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.8", + "@thi.ng/associative": "^4.0.9", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.2", - "@thi.ng/rstream-dot": "^1.1.28", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/rstream": "^4.3.3", + "@thi.ng/rstream-dot": "^1.1.29", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index ecc34e55e6..dc68b1a07c 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.2...@thi.ng/rstream@4.3.3) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [4.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.0...@thi.ng/rstream@4.3.1) (2020-05-16) diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 555795825e..1789498d57 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.3.2", + "version": "4.3.3", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -44,12 +44,12 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.8", + "@thi.ng/associative": "^4.0.9", "@thi.ng/atom": "^4.1.8", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index e961a8526e..dda464fce4 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.23...@thi.ng/sax@1.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/sax + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.0.19...@thi.ng/sax@1.1.0) (2019-07-07) ### Features diff --git a/packages/sax/package.json b/packages/sax/package.json index ffe8ca6471..2c21782d07 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.23", + "version": "1.1.24", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -44,8 +44,8 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/transducers-fsm": "^1.1.23", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers-fsm": "^1.1.24", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index eba9765f77..2f946ee23c 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.18...@thi.ng/scenegraph@0.1.19) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/scenegraph + + + + + # 0.1.0 (2019-11-30) ### Features diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index d49d177ec6..29ead84141 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.1.18", + "version": "0.1.19", "description": "Extensible 2D/3D scene graph with @thi.ng/hdom-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -45,8 +45,8 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", - "@thi.ng/matrices": "^0.6.15", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/matrices": "^0.6.16", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 6a16f45349..67eef4715f 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.26...@thi.ng/shader-ast-glsl@0.1.27) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/shader-ast-glsl + + + + + # 0.1.0 (2019-07-07) ### Bug Fixes diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index ecf1ff216b..573cfe8485 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-glsl", - "version": "0.1.26", + "version": "0.1.27", "description": "Customizable GLSL code generator for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/shader-ast": "^0.3.20", + "@thi.ng/shader-ast": "^0.3.21", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index 45a2b71e04..c5c99df9d1 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.22...@thi.ng/shader-ast-js@0.4.23) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + ## [0.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.21...@thi.ng/shader-ast-js@0.4.22) (2020-05-19) **Note:** Version bump only for package @thi.ng/shader-ast-js diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index f10c0eed24..550397b726 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.4.22", + "version": "0.4.23", "description": "Customizable JS code generator, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -47,10 +47,10 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/matrices": "^0.6.15", - "@thi.ng/pixel": "^0.2.0", - "@thi.ng/shader-ast": "^0.3.20", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/matrices": "^0.6.16", + "@thi.ng/pixel": "^0.3.0", + "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 09aad6b9bf..63d1ac82df 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.19...@thi.ng/shader-ast-stdlib@0.3.20) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/shader-ast-stdlib + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.2.3...@thi.ng/shader-ast-stdlib@0.3.0) (2019-09-21) ### Bug Fixes diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 9b1fd0a49a..37b2f657de 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-stdlib", - "version": "0.3.19", + "version": "0.3.20", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/shader-ast": "^0.3.20", + "@thi.ng/shader-ast": "^0.3.21", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 12ab4480fa..e69b064228 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.20...@thi.ng/shader-ast@0.3.21) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/shader-ast + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.2.3...@thi.ng/shader-ast@0.3.0) (2019-08-21) ### Features diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index c9a5de4692..92f1662d65 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.3.20", + "version": "0.3.21", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/api": "^6.10.5", "@thi.ng/checks": "^2.7.0", "@thi.ng/defmulti": "^1.2.15", - "@thi.ng/dgraph": "^1.2.8", + "@thi.ng/dgraph": "^1.2.9", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index 02207cfb94..f8372d8a8f 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.2.0...@thi.ng/simd@0.2.1) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/simd + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.1.16...@thi.ng/simd@0.2.0) (2020-05-14) diff --git a/packages/simd/package.json b/packages/simd/package.json index 62f402a7f0..7dc0a696f5 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.2.0", + "version": "0.2.1", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -47,8 +47,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/transducers-binary": "^0.5.13", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers-binary": "^0.5.14", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 84a815caea..c398bf0113 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.19...@thi.ng/soa@0.1.20) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/soa + + + + + # 0.1.0 (2019-11-09) ### Bug Fixes diff --git a/packages/soa/package.json b/packages/soa/package.json index f870c22597..3ae5da60c2 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.19", + "version": "0.1.20", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -46,8 +46,8 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/binary": "^2.0.7", - "@thi.ng/transducers-binary": "^0.5.13", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers-binary": "^0.5.14", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 29f14f10de..3e4e696366 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.39...@thi.ng/sparse@0.1.40) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/sparse + + + + + # 0.1.0 (2019-02-17) ### Features diff --git a/packages/sparse/package.json b/packages/sparse/package.json index c2fd2c7bb1..d56411e8be 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.39", + "version": "0.1.40", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index ea58c626b8..30d8167baa 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.8...@thi.ng/system@0.2.9) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/system + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.1.0...@thi.ng/system@0.2.0) (2020-04-03) diff --git a/packages/system/package.json b/packages/system/package.json index 2cff54df7a..dd216d0510 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/system", - "version": "0.2.8", + "version": "0.2.9", "description": "Minimal DI / life cycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/dgraph": "^1.2.8", + "@thi.ng/dgraph": "^1.2.9", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index 2ef224ef52..84f6bbe361 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.12...@thi.ng/text-canvas@0.2.13) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/text-canvas + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.1.2...@thi.ng/text-canvas@0.2.0) (2020-03-01) diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 2bcc82783a..6591d10851 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.2.12", + "version": "0.2.13", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -46,10 +46,10 @@ "dependencies": { "@thi.ng/api": "^6.10.5", "@thi.ng/arrays": "^0.6.7", - "@thi.ng/geom-clip-line": "^1.0.15", + "@thi.ng/geom-clip-line": "^1.0.16", "@thi.ng/math": "^1.7.10", "@thi.ng/memoize": "^2.0.11", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index 16f5fff40e..28f24068d4 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.13...@thi.ng/transducers-binary@0.5.14) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/transducers-binary + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.4.9...@thi.ng/transducers-binary@0.5.0) (2020-02-25) diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 0d19c615f5..5f175adb9f 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.5.13", + "version": "0.5.14", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "@thi.ng/compose": "^1.4.7", "@thi.ng/random": "^1.4.9", "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index b1f0850128..d4cb11307f 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.23...@thi.ng/transducers-fsm@1.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.0.19...@thi.ng/transducers-fsm@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 8227e3c757..8ff8cb8f8a 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "1.1.23", + "version": "1.1.24", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index abac55acff..75d70744cb 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.52...@thi.ng/transducers-hdom@2.0.53) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.2.16...@thi.ng/transducers-hdom@2.0.0) (2019-01-21) ### Build System diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index ddaacd9c27..a2fe34b150 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.52", + "version": "2.0.53", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -45,7 +45,7 @@ "dependencies": { "@thi.ng/hdom": "^8.0.26", "@thi.ng/hiccup": "^3.2.23", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index 465219fe7c..d13ffb5d7e 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.14...@thi.ng/transducers-patch@0.1.15) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/transducers-patch + + + + + ## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.4...@thi.ng/transducers-patch@0.1.5) (2020-03-28) diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 22bffcdf17..671c617c08 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.1.14", + "version": "0.1.15", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -47,7 +47,7 @@ "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 9329b12832..244cea001a 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.23...@thi.ng/transducers-stats@1.1.24) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.0.19...@thi.ng/transducers-stats@1.1.0) (2019-07-07) ### Features diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 929cbc1fe9..eab5b030b3 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "1.1.23", + "version": "1.1.24", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -44,9 +44,9 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.16", + "@thi.ng/dcons": "^2.2.17", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index d0aef710b6..3cdcc1ffae 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.5.0...@thi.ng/transducers@6.6.0) (2020-05-29) + + +### Features + +* **transducers:** add rangeNd(), add/update tests ([9239d6f](https://github.com/thi-ng/umbrella/commit/9239d6fbf4de66300ed924b9de9a0fa67df0235c)) + + + + + # [6.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.4.9...@thi.ng/transducers@6.5.0) (2020-05-14) diff --git a/packages/transducers/package.json b/packages/transducers/package.json index fddc3867f0..4dce0fcd7e 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "6.5.0", + "version": "6.6.0", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index f6702d10e9..0168d00310 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.28...@thi.ng/vector-pools@1.0.29) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/vector-pools + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@0.2.16...@thi.ng/vector-pools@1.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index 2def2df7c2..444cd3edf0 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.28", + "version": "1.0.29", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -47,8 +47,8 @@ "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/malloc": "^4.1.15", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index a06710c5ac..652a29e7f0 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.4.0...@thi.ng/vectors@4.4.1) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + # [4.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.3.4...@thi.ng/vectors@4.4.0) (2020-05-14) diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 539f45b1c3..75a3b60c71 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.4.0", + "version": "4.4.1", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -51,7 +51,7 @@ "@thi.ng/math": "^1.7.10", "@thi.ng/memoize": "^2.0.11", "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.5.0", + "@thi.ng/transducers": "^6.6.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index cec757873d..3310af48dc 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.32...@thi.ng/webgl-msdf@0.1.33) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.31...@thi.ng/webgl-msdf@0.1.32) (2020-05-19) **Note:** Version bump only for package @thi.ng/webgl-msdf diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index 05a0888b66..11fbf7676e 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.32", + "version": "0.1.33", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/shader-ast": "^0.3.20", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vector-pools": "^1.0.28", - "@thi.ng/vectors": "^4.4.0", - "@thi.ng/webgl": "^1.0.14", + "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vector-pools": "^1.0.29", + "@thi.ng/vectors": "^4.4.1", + "@thi.ng/webgl": "^1.0.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 0142ed564f..569b33c491 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.19...@thi.ng/webgl-shadertoy@0.2.20) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + ## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.18...@thi.ng/webgl-shadertoy@0.2.19) (2020-05-19) **Note:** Version bump only for package @thi.ng/webgl-shadertoy diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index 412cd69eb2..e5308955f0 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.19", + "version": "0.2.20", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/shader-ast": "^0.3.20", - "@thi.ng/shader-ast-glsl": "^0.1.26", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/webgl": "^1.0.14", + "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/shader-ast-glsl": "^0.1.27", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/webgl": "^1.0.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index 88bf4662bd..b8e881c4bd 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.14...@thi.ng/webgl@1.0.15) (2020-05-29) + +**Note:** Version bump only for package @thi.ng/webgl + + + + + ## [1.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.13...@thi.ng/webgl@1.0.14) (2020-05-19) **Note:** Version bump only for package @thi.ng/webgl diff --git a/packages/webgl/package.json b/packages/webgl/package.json index 0f4002ed0b..3f4dd63282 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "1.0.14", + "version": "1.0.15", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -44,19 +44,19 @@ }, "dependencies": { "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.8", + "@thi.ng/associative": "^4.0.9", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/matrices": "^0.6.15", - "@thi.ng/pixel": "^0.2.0", - "@thi.ng/shader-ast": "^0.3.20", - "@thi.ng/shader-ast-glsl": "^0.1.26", - "@thi.ng/shader-ast-stdlib": "^0.3.19", - "@thi.ng/transducers": "^6.5.0", - "@thi.ng/vector-pools": "^1.0.28", - "@thi.ng/vectors": "^4.4.0", + "@thi.ng/matrices": "^0.6.16", + "@thi.ng/pixel": "^0.3.0", + "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/shader-ast-glsl": "^0.1.27", + "@thi.ng/shader-ast-stdlib": "^0.3.20", + "@thi.ng/transducers": "^6.6.0", + "@thi.ng/vector-pools": "^1.0.29", + "@thi.ng/vectors": "^4.4.1", "tslib": "^1.12.0" }, "files": [ From 722bf3e3a368c62575faff26695326dc72954d6d Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 31 May 2020 20:54:11 +0100 Subject: [PATCH 38/43] feat(api): add deref(), isDeref() fns & MaybeDeref (cherry picked from commit 2ab46adee629bf06d064bdcd5c064f7fcc1e7433) --- packages/api/src/api/deref.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/api/src/api/deref.ts b/packages/api/src/api/deref.ts index 4923314268..16a34cd437 100644 --- a/packages/api/src/api/deref.ts +++ b/packages/api/src/api/deref.ts @@ -10,6 +10,8 @@ export interface IDeref { deref(): T; } +export type MaybeDeref = IDeref | T; + /** * If `T` is a {@link IDeref}, returns its value type or else `T`. */ @@ -40,3 +42,19 @@ export type DerefedKeys< > = { [P in K]: Derefed; }; + +/** + * Returns true iff `x` implements {@link IDeref}. + * + * @param x + */ +export const isDeref = (x: any): x is IDeref => + x != null && typeof x["deref"] === "function"; + +/** + * If `x` implements {@link IDeref}, returns its wrapped value, else + * returns `x` itself. + * + * @param x - + */ +export const deref = (x: MaybeDeref) => (isDeref(x) ? x.deref() : x); From 13f4184f755fadb0a585b7e443c1218a7e2df5db Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 31 May 2020 20:55:56 +0100 Subject: [PATCH 39/43] feat(transducers): add IDeref support slidingWindow() (cherry picked from commit c75175689544f172acde856b4261ca9dc128d1dd) --- .../transducers/src/xform/sliding-window.ts | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/transducers/src/xform/sliding-window.ts b/packages/transducers/src/xform/sliding-window.ts index 922ff6c9cd..9bac4c785d 100644 --- a/packages/transducers/src/xform/sliding-window.ts +++ b/packages/transducers/src/xform/sliding-window.ts @@ -1,6 +1,7 @@ +import { deref, MaybeDeref } from "@thi.ng/api"; +import type { Reducer, Transducer } from "../api"; import { compR } from "../func/compr"; import { $iter } from "../iterator"; -import type { Reducer, Transducer } from "../api"; /** * Sliding window transducer, similar to `partition(size, 1)`, but @@ -8,6 +9,11 @@ import type { Reducer, Transducer } from "../api"; * true (default). Each emitted window is a shallow copy of the internal * accumulation buffer. * + * @remarks + * If `size` is implements {@link IDeref}, the window size will be + * re-evaluated for each new input and therefore can be used as + * mechanism to dynamically adjust the window size. + * * @example * ```ts * [...window(3, range(5))] @@ -22,33 +28,32 @@ import type { Reducer, Transducer } from "../api"; * @param src - */ export function slidingWindow( - size: number, + size: MaybeDeref, partial?: boolean ): Transducer; export function slidingWindow( - size: number, + size: MaybeDeref, src: Iterable ): IterableIterator; export function slidingWindow( - size: number, + size: MaybeDeref, partial: boolean, src: Iterable ): IterableIterator; export function slidingWindow(...args: any[]): any { const iter = $iter(slidingWindow, args); - if (iter) { - return iter; - } - const size: number = args[0]; + if (iter) return iter; + const size: MaybeDeref = args[0]; const partial: boolean = args[1] !== false; return (rfn: Reducer) => { const reduce = rfn[2]; let buf: T[] = []; return compR(rfn, (acc, x: T) => { buf.push(x); - if (partial || buf.length === size) { + const _size = deref(size); + if (partial || buf.length >= _size) { acc = reduce(acc, buf); - buf = buf.slice(buf.length === size ? 1 : 0); + buf = buf.slice(buf.length >= _size ? 1 : 0, _size); } return acc; }); From 2c818496ffa3c71d0c92320a5f1cbb1786255af2 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 31 May 2020 21:34:05 +0100 Subject: [PATCH 40/43] refactor(webgl): update deref() uniform handling --- packages/webgl/src/shader.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/webgl/src/shader.ts b/packages/webgl/src/shader.ts index 3988da6e75..8eadf5e981 100644 --- a/packages/webgl/src/shader.ts +++ b/packages/webgl/src/shader.ts @@ -1,7 +1,6 @@ -import type { Fn3, IDeref, IObjectOf } from "@thi.ng/api"; +import { deref, Fn3, IObjectOf } from "@thi.ng/api"; import { existsAndNotNull, - implementsFunction, isArray, isBoolean, isFunction, @@ -122,11 +121,7 @@ export class Shader implements IShader { const u = shaderUnis[id]; if (u) { let val = specUnis[id]; - val = isFunction(val) - ? val(shaderUnis, specUnis) - : implementsFunction(val, "deref") - ? (>val).deref() - : val; + val = isFunction(val) ? val(shaderUnis, specUnis) : deref(val); // console.log(id, val); u.setter(val); } else { From cecd14e5aab9aeee65b1822ffd8395f5f73fed53 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 31 May 2020 21:34:36 +0100 Subject: [PATCH 41/43] docs: update readmes --- packages/api/README.md | 2 +- packages/transducers/README.md | 2 +- packages/webgl/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/api/README.md b/packages/api/README.md index d908dc6152..954b235a91 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -52,7 +52,7 @@ yarn add @thi.ng/api ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.01 KB / CJS: 2.14 KB / UMD: 2.12 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.05 KB / CJS: 2.19 KB / UMD: 2.16 KB ## Dependencies diff --git a/packages/transducers/README.md b/packages/transducers/README.md index ef68667cb5..fb7f99c596 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -151,7 +151,7 @@ yarn add @thi.ng/transducers ``` -Package sizes (gzipped, pre-treeshake): ESM: 7.97 KB / CJS: 8.49 KB / UMD: 7.67 KB +Package sizes (gzipped, pre-treeshake): ESM: 7.98 KB / CJS: 8.50 KB / UMD: 7.71 KB ## Dependencies diff --git a/packages/webgl/README.md b/packages/webgl/README.md index 1e1ef13dab..5e2115dbc6 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -89,7 +89,7 @@ yarn add @thi.ng/webgl ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.29 KB / CJS: 11.45 KB / UMD: 11.28 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.27 KB / CJS: 11.44 KB / UMD: 11.27 KB ## Dependencies From 2f3263a2087034dfd07acfbe61555946d4aebf6c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 1 Jun 2020 01:02:05 +0100 Subject: [PATCH 42/43] docs: update WIP pkg list --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e24635527..fc59088fac 100644 --- a/README.md +++ b/README.md @@ -110,11 +110,11 @@ fairly detailed overview for contributors here: ## Projects - + +- [@thi.ng/hdom2020](https://github.com/thi-ng/umbrella/tree/feature/hdom2020/packages/hdom2020) - Diff-less, reactive version of thi.ng/hdom ### Fundamentals From a25c4eed5fba2c7d1fddb02dd706bae534affc93 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Mon, 1 Jun 2020 01:27:46 +0100 Subject: [PATCH 43/43] Publish - @thi.ng/adjacency@0.1.46 - @thi.ng/api@6.11.0 - @thi.ng/arrays@0.6.8 - @thi.ng/associative@4.0.10 - @thi.ng/atom@4.1.9 - @thi.ng/bencode@0.3.25 - @thi.ng/bitfield@0.3.10 - @thi.ng/cache@1.0.45 - @thi.ng/color@1.2.1 - @thi.ng/compare@1.3.7 - @thi.ng/compose@1.4.8 - @thi.ng/csp@1.1.25 - @thi.ng/dcons@2.2.18 - @thi.ng/defmulti@1.2.16 - @thi.ng/dgraph-dot@0.1.10 - @thi.ng/dgraph@1.2.10 - @thi.ng/diff@3.2.22 - @thi.ng/dl-asset@0.3.10 - @thi.ng/dot@1.2.8 - @thi.ng/dsp-io-wav@0.1.15 - @thi.ng/dsp@2.0.17 - @thi.ng/dynvar@0.1.14 - @thi.ng/ecs@0.3.17 - @thi.ng/fsm@2.4.11 - @thi.ng/geom-accel@2.1.7 - @thi.ng/geom-api@1.0.19 - @thi.ng/geom-arc@0.2.30 - @thi.ng/geom-clip-line@1.0.17 - @thi.ng/geom-clip-poly@1.0.17 - @thi.ng/geom-closest-point@0.3.30 - @thi.ng/geom-hull@0.0.50 - @thi.ng/geom-io-obj@0.1.8 - @thi.ng/geom-isec@0.4.19 - @thi.ng/geom-isoline@0.1.48 - @thi.ng/geom-poly-utils@0.1.48 - @thi.ng/geom-resample@0.2.30 - @thi.ng/geom-splines@0.5.17 - @thi.ng/geom-subdiv-curve@0.1.47 - @thi.ng/geom-tessellate@0.2.30 - @thi.ng/geom-voronoi@0.1.48 - @thi.ng/geom@1.9.6 - @thi.ng/gp@0.1.18 - @thi.ng/grid-iterators@0.3.15 - @thi.ng/hdom-canvas@2.4.25 - @thi.ng/hdom-components@3.2.11 - @thi.ng/hdom-mock@1.1.27 - @thi.ng/hdom@8.0.27 - @thi.ng/heaps@1.2.15 - @thi.ng/hiccup-carbon-icons@1.0.39 - @thi.ng/hiccup-css@1.1.25 - @thi.ng/hiccup-markdown@1.2.14 - @thi.ng/hiccup-svg@3.4.21 - @thi.ng/hiccup@3.2.24 - @thi.ng/idgen@0.2.14 - @thi.ng/iges@1.1.32 - @thi.ng/imgui@0.2.19 - @thi.ng/interceptors@2.2.20 - @thi.ng/intervals@2.0.15 - @thi.ng/iterators@5.1.25 - @thi.ng/layout@0.1.12 - @thi.ng/leb128@1.0.19 - @thi.ng/lsys@0.2.45 - @thi.ng/malloc@4.1.16 - @thi.ng/matrices@0.6.17 - @thi.ng/memoize@2.0.12 - @thi.ng/mime@0.1.12 - @thi.ng/morton@2.0.14 - @thi.ng/parse@0.5.6 - @thi.ng/pixel@0.3.1 - @thi.ng/pointfree-lang@1.4.4 - @thi.ng/pointfree@2.0.5 - @thi.ng/poisson@1.1.1 - @thi.ng/porter-duff@0.1.20 - @thi.ng/ramp@0.1.19 - @thi.ng/random@1.4.10 - @thi.ng/range-coder@1.0.45 - @thi.ng/resolve-map@4.1.25 - @thi.ng/router@2.0.22 - @thi.ng/rstream-csp@2.0.23 - @thi.ng/rstream-dot@1.1.30 - @thi.ng/rstream-gestures@2.0.22 - @thi.ng/rstream-graph@3.2.23 - @thi.ng/rstream-log-file@0.1.45 - @thi.ng/rstream-log@3.1.30 - @thi.ng/rstream-query@1.1.30 - @thi.ng/rstream@4.3.4 - @thi.ng/sax@1.1.25 - @thi.ng/scenegraph@0.1.20 - @thi.ng/seq@0.2.14 - @thi.ng/sexpr@0.2.17 - @thi.ng/shader-ast-glsl@0.1.28 - @thi.ng/shader-ast-js@0.4.24 - @thi.ng/shader-ast-stdlib@0.3.21 - @thi.ng/shader-ast@0.3.22 - @thi.ng/simd@0.2.2 - @thi.ng/soa@0.1.21 - @thi.ng/sparse@0.1.41 - @thi.ng/strings@1.8.9 - @thi.ng/system@0.2.10 - @thi.ng/text-canvas@0.2.14 - @thi.ng/transducers-binary@0.5.15 - @thi.ng/transducers-fsm@1.1.25 - @thi.ng/transducers-hdom@2.0.54 - @thi.ng/transducers-patch@0.1.16 - @thi.ng/transducers-stats@1.1.25 - @thi.ng/transducers@6.7.0 - @thi.ng/vector-pools@1.0.30 - @thi.ng/vectors@4.4.2 - @thi.ng/webgl-msdf@0.1.34 - @thi.ng/webgl-shadertoy@0.2.21 - @thi.ng/webgl@1.0.16 - @thi.ng/zipper@0.1.16 --- packages/adjacency/CHANGELOG.md | 8 ++++ packages/adjacency/package.json | 12 +++--- packages/api/CHANGELOG.md | 11 ++++++ packages/api/package.json | 2 +- packages/arrays/CHANGELOG.md | 8 ++++ packages/arrays/package.json | 8 ++-- packages/associative/CHANGELOG.md | 8 ++++ packages/associative/package.json | 10 ++--- packages/atom/CHANGELOG.md | 8 ++++ packages/atom/package.json | 4 +- packages/bencode/CHANGELOG.md | 8 ++++ packages/bencode/package.json | 12 +++--- packages/bitfield/CHANGELOG.md | 8 ++++ packages/bitfield/package.json | 6 +-- packages/cache/CHANGELOG.md | 8 ++++ packages/cache/package.json | 8 ++-- packages/color/CHANGELOG.md | 8 ++++ packages/color/package.json | 14 +++---- packages/compare/CHANGELOG.md | 8 ++++ packages/compare/package.json | 4 +- packages/compose/CHANGELOG.md | 8 ++++ packages/compose/package.json | 4 +- packages/csp/CHANGELOG.md | 8 ++++ packages/csp/package.json | 10 ++--- packages/dcons/CHANGELOG.md | 8 ++++ packages/dcons/package.json | 10 ++--- packages/defmulti/CHANGELOG.md | 8 ++++ packages/defmulti/package.json | 4 +- packages/dgraph-dot/CHANGELOG.md | 8 ++++ packages/dgraph-dot/package.json | 8 ++-- packages/dgraph/CHANGELOG.md | 8 ++++ packages/dgraph/package.json | 8 ++-- packages/diff/CHANGELOG.md | 8 ++++ packages/diff/package.json | 4 +- packages/dl-asset/CHANGELOG.md | 8 ++++ packages/dl-asset/package.json | 6 +-- packages/dot/CHANGELOG.md | 8 ++++ packages/dot/package.json | 4 +- packages/dsp-io-wav/CHANGELOG.md | 8 ++++ packages/dsp-io-wav/package.json | 8 ++-- packages/dsp/CHANGELOG.md | 8 ++++ packages/dsp/package.json | 6 +-- packages/dynvar/CHANGELOG.md | 8 ++++ packages/dynvar/package.json | 4 +- packages/ecs/CHANGELOG.md | 8 ++++ packages/ecs/package.json | 12 +++--- packages/fsm/CHANGELOG.md | 8 ++++ packages/fsm/package.json | 10 ++--- packages/geom-accel/CHANGELOG.md | 8 ++++ packages/geom-accel/package.json | 16 ++++---- packages/geom-api/CHANGELOG.md | 8 ++++ packages/geom-api/package.json | 6 +-- packages/geom-arc/CHANGELOG.md | 8 ++++ packages/geom-arc/package.json | 8 ++-- packages/geom-clip-line/CHANGELOG.md | 8 ++++ packages/geom-clip-line/package.json | 4 +- packages/geom-clip-poly/CHANGELOG.md | 8 ++++ packages/geom-clip-poly/package.json | 8 ++-- packages/geom-closest-point/CHANGELOG.md | 8 ++++ packages/geom-closest-point/package.json | 4 +- packages/geom-hull/CHANGELOG.md | 8 ++++ packages/geom-hull/package.json | 4 +- packages/geom-io-obj/CHANGELOG.md | 8 ++++ packages/geom-io-obj/package.json | 6 +-- packages/geom-isec/CHANGELOG.md | 8 ++++ packages/geom-isec/package.json | 10 ++--- packages/geom-isoline/CHANGELOG.md | 8 ++++ packages/geom-isoline/package.json | 6 +-- packages/geom-poly-utils/CHANGELOG.md | 8 ++++ packages/geom-poly-utils/package.json | 6 +-- packages/geom-resample/CHANGELOG.md | 8 ++++ packages/geom-resample/package.json | 8 ++-- packages/geom-splines/CHANGELOG.md | 8 ++++ packages/geom-splines/package.json | 10 ++--- packages/geom-subdiv-curve/CHANGELOG.md | 8 ++++ packages/geom-subdiv-curve/package.json | 8 ++-- packages/geom-tessellate/CHANGELOG.md | 8 ++++ packages/geom-tessellate/package.json | 12 +++--- packages/geom-voronoi/CHANGELOG.md | 8 ++++ packages/geom-voronoi/package.json | 14 +++---- packages/geom/CHANGELOG.md | 8 ++++ packages/geom/package.json | 46 +++++++++++------------ packages/gp/CHANGELOG.md | 8 ++++ packages/gp/package.json | 10 ++--- packages/grid-iterators/CHANGELOG.md | 8 ++++ packages/grid-iterators/package.json | 10 ++--- packages/hdom-canvas/CHANGELOG.md | 8 ++++ packages/hdom-canvas/package.json | 12 +++--- packages/hdom-components/CHANGELOG.md | 8 ++++ packages/hdom-components/package.json | 8 ++-- packages/hdom-mock/CHANGELOG.md | 8 ++++ packages/hdom-mock/package.json | 6 +-- packages/hdom/CHANGELOG.md | 8 ++++ packages/hdom/package.json | 10 ++--- packages/heaps/CHANGELOG.md | 8 ++++ packages/heaps/package.json | 6 +-- packages/hiccup-carbon-icons/CHANGELOG.md | 8 ++++ packages/hiccup-carbon-icons/package.json | 4 +- packages/hiccup-css/CHANGELOG.md | 8 ++++ packages/hiccup-css/package.json | 6 +-- packages/hiccup-markdown/CHANGELOG.md | 8 ++++ packages/hiccup-markdown/package.json | 16 ++++---- packages/hiccup-svg/CHANGELOG.md | 8 ++++ packages/hiccup-svg/package.json | 6 +-- packages/hiccup/CHANGELOG.md | 8 ++++ packages/hiccup/package.json | 4 +- packages/idgen/CHANGELOG.md | 8 ++++ packages/idgen/package.json | 4 +- packages/iges/CHANGELOG.md | 8 ++++ packages/iges/package.json | 12 +++--- packages/imgui/CHANGELOG.md | 8 ++++ packages/imgui/package.json | 18 ++++----- packages/interceptors/CHANGELOG.md | 8 ++++ packages/interceptors/package.json | 6 +-- packages/intervals/CHANGELOG.md | 8 ++++ packages/intervals/package.json | 4 +- packages/iterators/CHANGELOG.md | 8 ++++ packages/iterators/package.json | 6 +-- packages/layout/CHANGELOG.md | 8 ++++ packages/layout/package.json | 4 +- packages/leb128/CHANGELOG.md | 8 ++++ packages/leb128/package.json | 4 +- packages/lsys/CHANGELOG.md | 8 ++++ packages/lsys/package.json | 12 +++--- packages/malloc/CHANGELOG.md | 8 ++++ packages/malloc/package.json | 4 +- packages/matrices/CHANGELOG.md | 8 ++++ packages/matrices/package.json | 6 +-- packages/memoize/CHANGELOG.md | 8 ++++ packages/memoize/package.json | 4 +- packages/mime/CHANGELOG.md | 8 ++++ packages/mime/package.json | 4 +- packages/morton/CHANGELOG.md | 8 ++++ packages/morton/package.json | 4 +- packages/parse/CHANGELOG.md | 8 ++++ packages/parse/package.json | 8 ++-- packages/pixel/CHANGELOG.md | 8 ++++ packages/pixel/package.json | 6 +-- packages/pointfree-lang/CHANGELOG.md | 8 ++++ packages/pointfree-lang/package.json | 6 +-- packages/pointfree/CHANGELOG.md | 8 ++++ packages/pointfree/package.json | 6 +-- packages/poisson/CHANGELOG.md | 8 ++++ packages/poisson/package.json | 10 ++--- packages/porter-duff/CHANGELOG.md | 8 ++++ packages/porter-duff/package.json | 4 +- packages/ramp/CHANGELOG.md | 8 ++++ packages/ramp/package.json | 12 +++--- packages/random/CHANGELOG.md | 8 ++++ packages/random/package.json | 4 +- packages/range-coder/CHANGELOG.md | 8 ++++ packages/range-coder/package.json | 4 +- packages/resolve-map/CHANGELOG.md | 8 ++++ packages/resolve-map/package.json | 4 +- packages/router/CHANGELOG.md | 8 ++++ packages/router/package.json | 4 +- packages/rstream-csp/CHANGELOG.md | 8 ++++ packages/rstream-csp/package.json | 6 +-- packages/rstream-dot/CHANGELOG.md | 8 ++++ packages/rstream-dot/package.json | 4 +- packages/rstream-gestures/CHANGELOG.md | 8 ++++ packages/rstream-gestures/package.json | 8 ++-- packages/rstream-graph/CHANGELOG.md | 8 ++++ packages/rstream-graph/package.json | 10 ++--- packages/rstream-log-file/CHANGELOG.md | 8 ++++ packages/rstream-log-file/package.json | 4 +- packages/rstream-log/CHANGELOG.md | 8 ++++ packages/rstream-log/package.json | 8 ++-- packages/rstream-query/CHANGELOG.md | 8 ++++ packages/rstream-query/package.json | 12 +++--- packages/rstream/CHANGELOG.md | 8 ++++ packages/rstream/package.json | 10 ++--- packages/sax/CHANGELOG.md | 8 ++++ packages/sax/package.json | 8 ++-- packages/scenegraph/CHANGELOG.md | 8 ++++ packages/scenegraph/package.json | 8 ++-- packages/seq/CHANGELOG.md | 8 ++++ packages/seq/package.json | 4 +- packages/sexpr/CHANGELOG.md | 8 ++++ packages/sexpr/package.json | 6 +-- packages/shader-ast-glsl/CHANGELOG.md | 8 ++++ packages/shader-ast-glsl/package.json | 6 +-- packages/shader-ast-js/CHANGELOG.md | 8 ++++ packages/shader-ast-js/package.json | 12 +++--- packages/shader-ast-stdlib/CHANGELOG.md | 8 ++++ packages/shader-ast-stdlib/package.json | 4 +- packages/shader-ast/CHANGELOG.md | 8 ++++ packages/shader-ast/package.json | 8 ++-- packages/simd/CHANGELOG.md | 8 ++++ packages/simd/package.json | 6 +-- packages/soa/CHANGELOG.md | 8 ++++ packages/soa/package.json | 8 ++-- packages/sparse/CHANGELOG.md | 8 ++++ packages/sparse/package.json | 6 +-- packages/strings/CHANGELOG.md | 8 ++++ packages/strings/package.json | 6 +-- packages/system/CHANGELOG.md | 8 ++++ packages/system/package.json | 6 +-- packages/text-canvas/CHANGELOG.md | 8 ++++ packages/text-canvas/package.json | 12 +++--- packages/transducers-binary/CHANGELOG.md | 8 ++++ packages/transducers-binary/package.json | 10 ++--- packages/transducers-fsm/CHANGELOG.md | 8 ++++ packages/transducers-fsm/package.json | 6 +-- packages/transducers-hdom/CHANGELOG.md | 8 ++++ packages/transducers-hdom/package.json | 8 ++-- packages/transducers-patch/CHANGELOG.md | 8 ++++ packages/transducers-patch/package.json | 6 +-- packages/transducers-stats/CHANGELOG.md | 8 ++++ packages/transducers-stats/package.json | 6 +-- packages/transducers/CHANGELOG.md | 11 ++++++ packages/transducers/package.json | 14 +++---- packages/vector-pools/CHANGELOG.md | 8 ++++ packages/vector-pools/package.json | 10 ++--- packages/vectors/CHANGELOG.md | 8 ++++ packages/vectors/package.json | 10 ++--- packages/webgl-msdf/CHANGELOG.md | 8 ++++ packages/webgl-msdf/package.json | 14 +++---- packages/webgl-shadertoy/CHANGELOG.md | 8 ++++ packages/webgl-shadertoy/package.json | 12 +++--- packages/webgl/CHANGELOG.md | 8 ++++ packages/webgl/package.json | 22 +++++------ packages/zipper/CHANGELOG.md | 8 ++++ packages/zipper/package.json | 6 +-- 224 files changed, 1351 insertions(+), 449 deletions(-) diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index 46f0301b23..df8bc69158 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.45...@thi.ng/adjacency@0.1.46) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/adjacency + + + + + ## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.1.44...@thi.ng/adjacency@0.1.45) (2020-05-29) **Note:** Version bump only for package @thi.ng/adjacency diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 937b57ca37..a848a1b869 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.1.45", + "version": "0.1.46", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", @@ -44,12 +44,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", - "@thi.ng/bitfield": "^0.3.9", + "@thi.ng/bitfield": "^0.3.10", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.17", - "@thi.ng/sparse": "^0.1.40", + "@thi.ng/dcons": "^2.2.18", + "@thi.ng/sparse": "^0.1.41", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index 1c53f14627..268c565db5 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.11.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.10.5...@thi.ng/api@6.11.0) (2020-06-01) + + +### Features + +* **api:** add deref(), isDeref() fns & MaybeDeref ([722bf3e](https://github.com/thi-ng/umbrella/commit/722bf3e3a368c62575faff26695326dc72954d6d)) + + + + + # [6.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@6.9.1...@thi.ng/api@6.10.0) (2020-04-06) diff --git a/packages/api/package.json b/packages/api/package.json index acd9542373..c2ee4bcc6e 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "6.10.5", + "version": "6.11.0", "description": "Common, generic types, interfaces & mixins", "module": "./index.js", "main": "./lib/index.js", diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 795868952d..d59c65a9cc 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.6.7...@thi.ng/arrays@0.6.8) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/arrays + + + + + # [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.5.6...@thi.ng/arrays@0.6.0) (2020-03-28) diff --git a/packages/arrays/package.json b/packages/arrays/package.json index 692858ac0f..acb06cca54 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.6.7", + "version": "0.6.8", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compare": "^1.3.6", + "@thi.ng/compare": "^1.3.7", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/random": "^1.4.9", + "@thi.ng/random": "^1.4.10", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 03ea9cfea5..2ce6a78ec9 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.9...@thi.ng/associative@4.0.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/associative + + + + + ## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@4.0.8...@thi.ng/associative@4.0.9) (2020-05-29) **Note:** Version bump only for package @thi.ng/associative diff --git a/packages/associative/package.json b/packages/associative/package.json index 5c02655b51..01f45df324 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "4.0.9", + "version": "4.0.10", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -43,14 +43,14 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compare": "^1.3.6", - "@thi.ng/dcons": "^2.2.17", + "@thi.ng/compare": "^1.3.7", + "@thi.ng/dcons": "^2.2.18", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index 2b2598f6e3..5b0467f97f 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.8...@thi.ng/atom@4.1.9) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/atom + + + + + # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.0.0...@thi.ng/atom@4.1.0) (2020-04-01) diff --git a/packages/atom/package.json b/packages/atom/package.json index d93eb81126..fdc01fd913 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "4.1.8", + "version": "4.1.9", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index 7693b88c5f..7bc17b3d69 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.24...@thi.ng/bencode@0.3.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/bencode + + + + + ## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.23...@thi.ng/bencode@0.3.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/bencode diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 6b885504c8..ec3e058a5d 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.24", + "version": "0.3.25", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/defmulti": "^1.2.16", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/transducers-binary": "^0.5.14", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/transducers-binary": "^0.5.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index 95646ea43f..71c7d7d0c6 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.3.9...@thi.ng/bitfield@0.3.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/bitfield + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.2.8...@thi.ng/bitfield@0.3.0) (2020-03-06) diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 7b3b08bd76..83fd946f0d 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.3.9", + "version": "0.3.10", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", - "@thi.ng/strings": "^1.8.8", + "@thi.ng/strings": "^1.8.9", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index e80ab9a0a8..fd0cfbbc04 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.44...@thi.ng/cache@1.0.45) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/cache + + + + + ## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.43...@thi.ng/cache@1.0.44) (2020-05-29) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index 218b1e24ae..a460c0dc83 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.44", + "version": "1.0.45", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/dcons": "^2.2.17", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/api": "^6.11.0", + "@thi.ng/dcons": "^2.2.18", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index a6f8f9b176..e0a40802a6 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.0...@thi.ng/color@1.2.1) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/color + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.21...@thi.ng/color@1.2.0) (2020-05-29) diff --git a/packages/color/package.json b/packages/color/package.json index b905a0eabe..2fb47cad83 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "1.2.0", + "version": "1.2.1", "description": "Array-based color ops, conversions, multi-color gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compose": "^1.4.7", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/compose": "^1.4.8", + "@thi.ng/defmulti": "^1.2.16", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/strings": "^1.8.9", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index 8f224b9802..c22142d4ca 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.6...@thi.ng/compare@1.3.7) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/compare + + + + + # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.2.2...@thi.ng/compare@1.3.0) (2020-04-05) diff --git a/packages/compare/package.json b/packages/compare/package.json index 5d0f75556c..4a9c6e415e 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "1.3.6", + "version": "1.3.7", "description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 9d7e5cac39..c9236a3b88 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.7...@thi.ng/compose@1.4.8) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/compose + + + + + # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.3.12...@thi.ng/compose@1.4.0) (2020-03-28) diff --git a/packages/compose/package.json b/packages/compose/package.json index 06e458eccc..fb1efe22ae 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "1.4.7", + "version": "1.4.8", "description": "Optimized functional composition helpers", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 1d9a002a26..267dfc650f 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.24...@thi.ng/csp@1.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/csp + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.23...@thi.ng/csp@1.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index 747a750c3c..528374664d 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.24", + "version": "1.1.25", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -47,12 +47,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.17", + "@thi.ng/dcons": "^2.2.18", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index f9007fda33..e64c8abba3 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.17...@thi.ng/dcons@2.2.18) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + ## [2.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.2.16...@thi.ng/dcons@2.2.17) (2020-05-29) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 98649788e4..65cbfbf357 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.2.17", + "version": "2.2.18", "description": "Double-linked list with comprehensive set of operations", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compare": "^1.3.6", + "@thi.ng/compare": "^1.3.7", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index 65333f3a6a..d76eb52d3f 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.2.15...@thi.ng/defmulti@1.2.16) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/defmulti + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.1.4...@thi.ng/defmulti@1.2.0) (2019-11-09) ### Features diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index 361d36d4f6..28cd46d3c2 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "1.2.15", + "version": "1.2.16", "description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index a8062a39d2..f65360beec 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.9...@thi.ng/dgraph-dot@0.1.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dgraph-dot + + + + + ## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.8...@thi.ng/dgraph-dot@0.1.9) (2020-05-29) **Note:** Version bump only for package @thi.ng/dgraph-dot diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json index e37899dc2a..ae05edd099 100644 --- a/packages/dgraph-dot/package.json +++ b/packages/dgraph-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph-dot", - "version": "0.1.9", + "version": "0.1.10", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/dgraph": "^1.2.9", - "@thi.ng/dot": "^1.2.7" + "@thi.ng/api": "^6.11.0", + "@thi.ng/dgraph": "^1.2.10", + "@thi.ng/dot": "^1.2.8" }, "files": [ "*.js", diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index bc97210c4e..2d1f184307 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.9...@thi.ng/dgraph@1.2.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + ## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.2.8...@thi.ng/dgraph@1.2.9) (2020-05-29) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 8b09d626ce..aff9f4b01a 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.2.9", + "version": "1.2.10", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.9", + "@thi.ng/api": "^6.11.0", + "@thi.ng/associative": "^4.0.10", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index b3ec0c3e0e..ce75f68685 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.21...@thi.ng/diff@3.2.22) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/diff + + + + + ## [3.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@3.2.19...@thi.ng/diff@3.2.20) (2020-05-05) diff --git a/packages/diff/package.json b/packages/diff/package.json index 912e9a6fff..8163fc2516 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "3.2.21", + "version": "3.2.22", "description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs", "module": "./index.js", "main": "./lib/index.js", @@ -42,7 +42,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/equiv": "^1.0.23", "tslib": "^1.12.0" }, diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 402cc59957..c4b8bf82e4 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.3.9...@thi.ng/dl-asset@0.3.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dl-asset + + + + + # 0.3.0 (2020-02-26) diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index 8118087e7e..f9abed42d3 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dl-asset", - "version": "0.3.9", + "version": "0.3.10", "description": "Local asset download for web apps, with automatic MIME type detection", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/mime": "^0.1.11", + "@thi.ng/mime": "^0.1.12", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index d1337f491f..48c0a61503 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.7...@thi.ng/dot@1.2.8) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dot + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.1.14...@thi.ng/dot@1.2.0) (2020-04-03) diff --git a/packages/dot/package.json b/packages/dot/package.json index 13c3c5c36c..d5ad525d05 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "1.2.7", + "version": "1.2.8", "description": "Graphviz document abstraction & serialization to DOT format", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "tslib": "^1.12.0" }, diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index 8cd44e6174..c7e32cf84d 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.14...@thi.ng/dsp-io-wav@0.1.15) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dsp-io-wav + + + + + ## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.13...@thi.ng/dsp-io-wav@0.1.14) (2020-05-29) **Note:** Version bump only for package @thi.ng/dsp-io-wav diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 53f4b685f9..5e66421f41 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp-io-wav", - "version": "0.1.14", + "version": "0.1.15", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/transducers-binary": "^0.5.14", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/transducers-binary": "^0.5.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index bf6b47ca23..4f56050a47 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.16...@thi.ng/dsp@2.0.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + ## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@2.0.15...@thi.ng/dsp@2.0.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/dsp diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 1c418ade54..ecdfb6b78f 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "2.0.16", + "version": "2.0.17", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 0849bdf272..ea80b6390a 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.13...@thi.ng/dynvar@0.1.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/dynvar + + + + + # 0.1.0 (2020-01-24) ### Features diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index 028f6c4044..11dfd5f637 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dynvar", - "version": "0.1.13", + "version": "0.1.14", "description": "Dynamically scoped variable bindings", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 77cf1d30e5..eed17ff5aa 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.16...@thi.ng/ecs@0.3.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/ecs + + + + + ## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.3.15...@thi.ng/ecs@0.3.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/ecs diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 4cfa0087d3..daf1b885f9 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.3.16", + "version": "0.3.17", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -44,13 +44,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.9", + "@thi.ng/api": "^6.11.0", + "@thi.ng/associative": "^4.0.10", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.17", - "@thi.ng/idgen": "^0.2.13", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/dcons": "^2.2.18", + "@thi.ng/idgen": "^0.2.14", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 6b7d16a6d9..0e37b64169 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.10...@thi.ng/fsm@2.4.11) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/fsm + + + + + ## [2.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.9...@thi.ng/fsm@2.4.10) (2020-05-29) **Note:** Version bump only for package @thi.ng/fsm diff --git a/packages/fsm/package.json b/packages/fsm/package.json index df985418bf..228fcb00fc 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.10", + "version": "2.4.11", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/strings": "^1.8.9", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index 299c7f9a88..c7b4a76c54 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.6...@thi.ng/geom-accel@2.1.7) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-accel + + + + + ## [2.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.5...@thi.ng/geom-accel@2.1.6) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-accel diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 85e4b8d24d..2f6d77c8df 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "2.1.6", + "version": "2.1.7", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -44,16 +44,16 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/heaps": "^1.2.14", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/heaps": "^1.2.15", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index e0423a3bc4..0daaeae944 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.18...@thi.ng/geom-api@1.0.19) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-api + + + + + ## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@1.0.17...@thi.ng/geom-api@1.0.18) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-api diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index 35662acf88..41c4f8a511 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "1.0.18", + "version": "1.0.19", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/api": "^6.11.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index ef33f539a8..14c4e12ed8 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.29...@thi.ng/geom-arc@0.2.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-arc + + + + + ## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.2.28...@thi.ng/geom-arc@0.2.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-arc diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index fe8409042a..4b373d4c6a 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-arc", - "version": "0.2.29", + "version": "0.2.30", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-resample": "^0.2.29", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-resample": "^0.2.30", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index 2fb8b9292f..3c9004c52d 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.16...@thi.ng/geom-clip-line@1.0.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-clip-line + + + + + ## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.0.15...@thi.ng/geom-clip-line@1.0.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-clip-line diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index 0c9e22d4e4..9e2eae9754 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-line", - "version": "1.0.16", + "version": "1.0.17", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index a418ec61cd..60a97a0215 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.16...@thi.ng/geom-clip-poly@1.0.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-clip-poly + + + + + ## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.15...@thi.ng/geom-clip-poly@1.0.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-clip-poly diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 6019209fdf..98574c1687 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-poly", - "version": "1.0.16", + "version": "1.0.17", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/geom-poly-utils": "^0.1.47", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/geom-poly-utils": "^0.1.48", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index e71823bdc9..a1446f7c63 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.29...@thi.ng/geom-closest-point@0.3.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-closest-point + + + + + ## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.3.28...@thi.ng/geom-closest-point@0.3.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-closest-point diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 8ab325e1f9..641e794ac2 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-closest-point", - "version": "0.3.29", + "version": "0.3.30", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index 35780e517e..b28e5eaffd 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.49...@thi.ng/geom-hull@0.0.50) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-hull + + + + + ## [0.0.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.48...@thi.ng/geom-hull@0.0.49) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 8f84625e05..3a8aac19e6 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-hull", - "version": "0.0.49", + "version": "0.0.50", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -44,7 +44,7 @@ }, "dependencies": { "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index 694de0fa6e..d227799747 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.7...@thi.ng/geom-io-obj@0.1.8) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-io-obj + + + + + ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.6...@thi.ng/geom-io-obj@0.1.7) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-io-obj diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json index 65d2c01aa1..a0eadc21d7 100644 --- a/packages/geom-io-obj/package.json +++ b/packages/geom-io-obj/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-io-obj", - "version": "0.1.7", + "version": "0.1.8", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/vectors": "^4.4.1" + "@thi.ng/api": "^6.11.0", + "@thi.ng/vectors": "^4.4.2" }, "files": [ "*.js", diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index a7873ec840..43c14bc0b5 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.18...@thi.ng/geom-isec@0.4.19) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-isec + + + + + ## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.4.17...@thi.ng/geom-isec@0.4.18) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-isec diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index c5acd0a98e..0d867769bf 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.4.18", + "version": "0.4.19", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-closest-point": "^0.3.29", + "@thi.ng/api": "^6.11.0", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-closest-point": "^0.3.30", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index 0e0b25c983..4b73381b94 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.47...@thi.ng/geom-isoline@0.1.48) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-isoline + + + + + ## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.46...@thi.ng/geom-isoline@0.1.47) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-isoline diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 0a22c706ed..124f1e1c77 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isoline", - "version": "0.1.47", + "version": "0.1.48", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index 72e7817331..74ad69e603 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.47...@thi.ng/geom-poly-utils@0.1.48) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-poly-utils + + + + + ## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.1.46...@thi.ng/geom-poly-utils@0.1.47) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-poly-utils diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 3760898942..4e6bdb9729 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-poly-utils", - "version": "0.1.47", + "version": "0.1.48", "description": "2D polygon / triangle analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -44,9 +44,9 @@ }, "dependencies": { "@thi.ng/errors": "^1.2.14", - "@thi.ng/geom-api": "^1.0.18", + "@thi.ng/geom-api": "^1.0.19", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index 30ee17e2af..52b5801b44 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.29...@thi.ng/geom-resample@0.2.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-resample + + + + + ## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.28...@thi.ng/geom-resample@0.2.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-resample diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index 9aaa287b76..6171ef70b2 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-resample", - "version": "0.2.29", + "version": "0.2.30", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-closest-point": "^0.3.29", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-closest-point": "^0.3.30", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 6248488d0d..a2a560bd2c 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.16...@thi.ng/geom-splines@0.5.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-splines + + + + + ## [0.5.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.15...@thi.ng/geom-splines@0.5.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-splines diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index c7dd73e125..4dd8474414 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-splines", - "version": "0.5.16", + "version": "0.5.17", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-arc": "^0.2.29", - "@thi.ng/geom-resample": "^0.2.29", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-arc": "^0.2.30", + "@thi.ng/geom-resample": "^0.2.30", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index 8e084fefa6..49f6e731f9 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.46...@thi.ng/geom-subdiv-curve@0.1.47) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-subdiv-curve + + + + + ## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.45...@thi.ng/geom-subdiv-curve@0.1.46) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-subdiv-curve diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 2eab82dd13..db33f17c57 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-subdiv-curve", - "version": "0.1.46", + "version": "0.1.47", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index 5e466ef376..89f144b981 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.29...@thi.ng/geom-tessellate@0.2.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-tessellate + + + + + ## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.28...@thi.ng/geom-tessellate@0.2.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-tessellate diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 0acdb71e6f..e8f7d6e7af 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-tessellate", - "version": "0.2.29", + "version": "0.2.30", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/geom-poly-utils": "^0.1.47", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/geom-poly-utils": "^0.1.48", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index 642a1b5530..b6fcca3f02 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.47...@thi.ng/geom-voronoi@0.1.48) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom-voronoi + + + + + ## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.1.46...@thi.ng/geom-voronoi@0.1.47) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom-voronoi diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 4c7dbd8967..681b33f21b 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-voronoi", - "version": "0.1.47", + "version": "0.1.48", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-clip-line": "^1.0.16", - "@thi.ng/geom-clip-poly": "^1.0.16", - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/geom-poly-utils": "^0.1.47", + "@thi.ng/geom-clip-line": "^1.0.17", + "@thi.ng/geom-clip-poly": "^1.0.17", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/geom-poly-utils": "^0.1.48", "@thi.ng/math": "^1.7.10", "@thi.ng/quad-edge": "^0.2.16", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index ba6f25da52..f179bc9dd8 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.5...@thi.ng/geom@1.9.6) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/geom + + + + + ## [1.9.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@1.9.4...@thi.ng/geom@1.9.5) (2020-05-29) **Note:** Version bump only for package @thi.ng/geom diff --git a/packages/geom/package.json b/packages/geom/package.json index a083917421..f376278e6c 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "1.9.5", + "version": "1.9.6", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -43,32 +43,32 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compose": "^1.4.7", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/compose": "^1.4.8", + "@thi.ng/defmulti": "^1.2.16", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-arc": "^0.2.29", - "@thi.ng/geom-clip-line": "^1.0.16", - "@thi.ng/geom-clip-poly": "^1.0.16", - "@thi.ng/geom-closest-point": "^0.3.29", - "@thi.ng/geom-hull": "^0.0.49", - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/geom-poly-utils": "^0.1.47", - "@thi.ng/geom-resample": "^0.2.29", - "@thi.ng/geom-splines": "^0.5.16", - "@thi.ng/geom-subdiv-curve": "^0.1.46", - "@thi.ng/geom-tessellate": "^0.2.29", - "@thi.ng/hiccup": "^3.2.23", - "@thi.ng/hiccup-svg": "^3.4.20", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-arc": "^0.2.30", + "@thi.ng/geom-clip-line": "^1.0.17", + "@thi.ng/geom-clip-poly": "^1.0.17", + "@thi.ng/geom-closest-point": "^0.3.30", + "@thi.ng/geom-hull": "^0.0.50", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/geom-poly-utils": "^0.1.48", + "@thi.ng/geom-resample": "^0.2.30", + "@thi.ng/geom-splines": "^0.5.17", + "@thi.ng/geom-subdiv-curve": "^0.1.47", + "@thi.ng/geom-tessellate": "^0.2.30", + "@thi.ng/hiccup": "^3.2.24", + "@thi.ng/hiccup-svg": "^3.4.21", "@thi.ng/math": "^1.7.10", - "@thi.ng/matrices": "^0.6.16", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/matrices": "^0.6.17", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index 30dc04abf9..b298201062 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.17...@thi.ng/gp@0.1.18) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/gp + + + + + ## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.1.16...@thi.ng/gp@0.1.17) (2020-05-29) **Note:** Version bump only for package @thi.ng/gp diff --git a/packages/gp/package.json b/packages/gp/package.json index a5c1b21b00..ea110c563f 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.1.17", + "version": "0.1.18", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/zipper": "^0.1.15", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/zipper": "^0.1.16", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index dae559fc0c..74e0506de5 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.14...@thi.ng/grid-iterators@0.3.15) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/grid-iterators + + + + + ## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.3.13...@thi.ng/grid-iterators@0.3.14) (2020-05-29) **Note:** Version bump only for package @thi.ng/grid-iterators diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index e04c0e5111..63319b857b 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/grid-iterators", - "version": "0.3.14", + "version": "0.3.15", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -44,11 +44,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/binary": "^2.0.7", - "@thi.ng/morton": "^2.0.13", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/morton": "^2.0.14", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index 7706f5b7ff..f8156300a9 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.24...@thi.ng/hdom-canvas@2.4.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [2.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@2.4.23...@thi.ng/hdom-canvas@2.4.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/hdom-canvas diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index ca6dfa0f3c..48c999c054 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "2.4.24", + "version": "2.4.25", "description": "Declarative canvas scenegraph & visualization for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/color": "^1.2.0", - "@thi.ng/diff": "^3.2.21", - "@thi.ng/hdom": "^8.0.26", + "@thi.ng/color": "^1.2.1", + "@thi.ng/diff": "^3.2.22", + "@thi.ng/hdom": "^8.0.27", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 93b45ffa90..2027aa44eb 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.10...@thi.ng/hdom-components@3.2.11) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + ## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@3.2.9...@thi.ng/hdom-components@3.2.10) (2020-05-29) **Note:** Version bump only for package @thi.ng/hdom-components diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index a7c1a505a4..386bb82943 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "3.2.10", + "version": "3.2.11", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/transducers-stats": "^1.1.24", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/transducers-stats": "^1.1.25", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index 1960053efb..8cc87f4c34 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.26...@thi.ng/hdom-mock@1.1.27) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hdom-mock + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.0.16...@thi.ng/hdom-mock@1.1.0) (2019-07-07) ### Features diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index 22dd6d0d40..a803c3425c 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-mock", - "version": "1.1.26", + "version": "1.1.27", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/hdom": "^8.0.26", + "@thi.ng/hdom": "^8.0.27", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index bfd08b12dd..bcca8cb3c9 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.26...@thi.ng/hdom@8.0.27) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [8.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.0.17...@thi.ng/hdom@8.0.18) (2020-04-06) diff --git a/packages/hdom/package.json b/packages/hdom/package.json index f5088b597b..72e0083e81 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.0.26", + "version": "8.0.27", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/atom": "^4.1.8", + "@thi.ng/atom": "^4.1.9", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", @@ -44,12 +44,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/diff": "^3.2.21", + "@thi.ng/diff": "^3.2.22", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/hiccup": "^3.2.23", + "@thi.ng/hiccup": "^3.2.24", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index ce0271e729..d87e761964 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.14...@thi.ng/heaps@1.2.15) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/heaps + + + + + # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.1.6...@thi.ng/heaps@1.2.0) (2020-01-24) ### Features diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 0b2b6a6bdf..3b8a6f23f9 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "1.2.14", + "version": "1.2.15", "description": "Various heap implementations for arbitrary values and with customizable ordering", "module": "./index.js", "main": "./lib/index.js", @@ -44,8 +44,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/compare": "^1.3.6", + "@thi.ng/api": "^6.11.0", + "@thi.ng/compare": "^1.3.7", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 02598f306e..0ce98298cd 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@1.0.38...@thi.ng/hiccup-carbon-icons@1.0.39) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons + + + + + # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@0.1.2...@thi.ng/hiccup-carbon-icons@1.0.0) (2019-01-21) ### Build System diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 565ac6af4c..3063d9fff8 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-carbon-icons", - "version": "1.0.38", + "version": "1.0.39", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/hiccup": "^3.2.23", + "@thi.ng/hiccup": "^3.2.24", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index b960a1296f..1629ac8147 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.24...@thi.ng/hiccup-css@1.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.23...@thi.ng/hiccup-css@1.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/hiccup-css diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index bf32c6330f..67dc1a70a6 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "1.1.24", + "version": "1.1.25", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index e7e87800cd..bb4eeb06a0 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.13...@thi.ng/hiccup-markdown@1.2.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hiccup-markdown + + + + + ## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.2.12...@thi.ng/hiccup-markdown@1.2.13) (2020-05-29) **Note:** Version bump only for package @thi.ng/hiccup-markdown diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 8890c1bf39..2fe39a87a7 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.2.13", + "version": "1.2.14", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/defmulti": "^1.2.16", "@thi.ng/errors": "^1.2.14", - "@thi.ng/fsm": "^2.4.10", - "@thi.ng/hiccup": "^3.2.23", - "@thi.ng/strings": "^1.8.8", - "@thi.ng/text-canvas": "^0.2.13", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/fsm": "^2.4.11", + "@thi.ng/hiccup": "^3.2.24", + "@thi.ng/strings": "^1.8.9", + "@thi.ng/text-canvas": "^0.2.14", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 3d67bd4b0c..304d3f6cc8 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.20...@thi.ng/hiccup-svg@3.4.21) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hiccup-svg + + + + + ## [3.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.4.19...@thi.ng/hiccup-svg@3.4.20) (2020-05-29) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index bb625c19a5..aa4ebf405c 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.4.20", + "version": "3.4.21", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -44,8 +44,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/color": "^1.2.0", - "@thi.ng/hiccup": "^3.2.23", + "@thi.ng/color": "^1.2.1", + "@thi.ng/hiccup": "^3.2.24", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index 5d76bc3876..8065af579e 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.23...@thi.ng/hiccup@3.2.24) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/hiccup + + + + + ## [3.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.2.3...@thi.ng/hiccup@3.2.4) (2019-08-21) ### Bug Fixes diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 44095748e0..67ce7c3fd9 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.2.23", + "version": "3.2.24", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/atom": "^4.1.8", + "@thi.ng/atom": "^4.1.9", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index cc10273c49..131d8b95f2 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.13...@thi.ng/idgen@0.2.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/idgen + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.1.0...@thi.ng/idgen@0.2.0) (2020-01-24) ### Features diff --git a/packages/idgen/package.json b/packages/idgen/package.json index 4305299d3f..c2d1be1d38 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/idgen", - "version": "0.2.13", + "version": "0.2.14", "description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 97a1e753bf..1c7b9f28f4 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.31...@thi.ng/iges@1.1.32) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/iges + + + + + ## [1.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.30...@thi.ng/iges@1.1.31) (2020-05-29) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/package.json b/packages/iges/package.json index 9301da60b3..e5025837e1 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.31", + "version": "1.1.32", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", - "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/defmulti": "^1.2.16", + "@thi.ng/strings": "^1.8.9", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index 465604aec0..2968b64d1e 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.18...@thi.ng/imgui@0.2.19) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/imgui + + + + + ## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.17...@thi.ng/imgui@0.2.18) (2020-05-29) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 871e4d911e..14b8ed492b 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.18", + "version": "0.2.19", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -43,16 +43,16 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom": "^1.9.5", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/geom-isec": "^0.4.18", - "@thi.ng/geom-tessellate": "^0.2.29", - "@thi.ng/layout": "^0.1.11", + "@thi.ng/geom": "^1.9.6", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/geom-isec": "^0.4.19", + "@thi.ng/geom-tessellate": "^0.2.30", + "@thi.ng/layout": "^0.1.12", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index f127eeef0f..149cbafd2d 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.19...@thi.ng/interceptors@2.2.20) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/interceptors + + + + + # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.1.3...@thi.ng/interceptors@2.2.0) (2019-08-21) ### Features diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 4b2ec77239..09e9e64359 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.19", + "version": "2.2.20", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/atom": "^4.1.8", + "@thi.ng/api": "^6.11.0", + "@thi.ng/atom": "^4.1.9", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index 75d31f3d87..d57cb45f9a 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@2.0.14...@thi.ng/intervals@2.0.15) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/intervals + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@1.0.15...@thi.ng/intervals@2.0.0) (2019-11-30) ### Bug Fixes diff --git a/packages/intervals/package.json b/packages/intervals/package.json index 7a2b7349e2..33dda4b7ba 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/intervals", - "version": "2.0.14", + "version": "2.0.15", "description": "Closed/open/semi-open interval data type, queries & operations", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/dlogic": "^1.0.23", "@thi.ng/errors": "^1.2.14", diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index 3260c82e75..feab03d107 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.24...@thi.ng/iterators@5.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + ## [5.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.23...@thi.ng/iterators@5.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 8d6a39dd9f..e2989085f7 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.24", + "version": "5.1.25", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/dcons": "^2.2.17", + "@thi.ng/api": "^6.11.0", + "@thi.ng/dcons": "^2.2.18", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 2f4f24c514..6d5f32a949 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.11...@thi.ng/layout@0.1.12) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/layout + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/layout/package.json b/packages/layout/package.json index 8b9ace1e45..794984199b 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/layout", - "version": "0.1.11", + "version": "0.1.12", "description": "TODO", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "tslib": "^1.12.0" }, diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index e5569ede3b..a50f016eb9 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.18...@thi.ng/leb128@1.0.19) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/leb128 + + + + + ## [1.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.17...@thi.ng/leb128@1.0.18) (2020-05-29) **Note:** Version bump only for package @thi.ng/leb128 diff --git a/packages/leb128/package.json b/packages/leb128/package.json index e9fa438019..ee9beab5ca 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.18", + "version": "1.0.19", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -46,7 +46,7 @@ "dependencies": { "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers-binary": "^0.5.14", + "@thi.ng/transducers-binary": "^0.5.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index 1e7b63e74b..7f81578a8f 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.44...@thi.ng/lsys@0.2.45) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/lsys + + + + + ## [0.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.43...@thi.ng/lsys@0.2.44) (2020-05-29) **Note:** Version bump only for package @thi.ng/lsys diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 9cfe751c34..210ce0d8de 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.44", + "version": "0.2.45", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/compose": "^1.4.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/compose": "^1.4.8", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index e58aae34c2..2961507ec1 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.1.15...@thi.ng/malloc@4.1.16) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/malloc + + + + + # [4.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@4.0.5...@thi.ng/malloc@4.1.0) (2019-11-09) ### Bug Fixes diff --git a/packages/malloc/package.json b/packages/malloc/package.json index 3c0ddbdb84..e97e6d23ad 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "4.1.15", + "version": "4.1.16", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index e4285f2341..702c069140 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.16...@thi.ng/matrices@0.6.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/matrices + + + + + ## [0.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.15...@thi.ng/matrices@0.6.16) (2020-05-29) **Note:** Version bump only for package @thi.ng/matrices diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 216d272a67..a7407f3b78 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.16", + "version": "0.6.17", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index 7617c06e90..fa0e655ef8 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.0.11...@thi.ng/memoize@2.0.12) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/memoize + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@1.1.8...@thi.ng/memoize@2.0.0) (2020-02-25) diff --git a/packages/memoize/package.json b/packages/memoize/package.json index b3832ca89d..571960209d 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "2.0.11", + "version": "2.0.12", "description": "Function memoization with configurable caching", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index 23c8f98536..2179a306b6 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.11...@thi.ng/mime@0.1.12) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/mime + + + + + # 0.1.0 (2020-02-25) diff --git a/packages/mime/package.json b/packages/mime/package.json index 7d22f53fa3..47ecee5f0c 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/mime", - "version": "0.1.11", + "version": "0.1.12", "description": "350+ file extension to MIME type mappings, based on mime-db", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 55b8b27857..7f31b60eff 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.13...@thi.ng/morton@2.0.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/morton + + + + + ## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.8...@thi.ng/morton@2.0.9) (2020-04-11) diff --git a/packages/morton/package.json b/packages/morton/package.json index 5e69a2777e..56b9314ecf 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "2.0.13", + "version": "2.0.14", "description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", "@thi.ng/math": "^1.7.10", "tslib": "^1.12.0" diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index dd212a5b58..aea60a6eec 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.5.5...@thi.ng/parse@0.5.6) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/parse + + + + + # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.4.1...@thi.ng/parse@0.5.0) (2020-04-23) diff --git a/packages/parse/package.json b/packages/parse/package.json index 8d428520c3..63df892136 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.5.5", + "version": "0.5.6", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/defmulti": "^1.2.16", "@thi.ng/errors": "^1.2.14", - "@thi.ng/strings": "^1.8.8" + "@thi.ng/strings": "^1.8.9" }, "files": [ "*.js", diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index f358d1a39c..ec47503044 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.3.0...@thi.ng/pixel@0.3.1) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/pixel + + + + + # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.2.0...@thi.ng/pixel@0.3.0) (2020-05-29) diff --git a/packages/pixel/package.json b/packages/pixel/package.json index 7b03e6ada1..89473354b1 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.3.0", + "version": "0.3.1", "description": "Typed array backed, packed integer and unpacked floating point pixel buffers w/ customizable formats, blitting, dithering, conversions", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/porter-duff": "^0.1.19", + "@thi.ng/porter-duff": "^0.1.20", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index cb63b54da2..2c5eed8bfa 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.3...@thi.ng/pointfree-lang@1.4.4) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/pointfree-lang + + + + + # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.3.0...@thi.ng/pointfree-lang@1.4.0) (2020-04-27) diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 7d01a0e49e..0c518c264e 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree-lang", - "version": "1.4.3", + "version": "1.4.4", "description": "Forth style syntax layer/compiler & CLI for the @thi.ng/pointfree DSL", "module": "./index.js", "main": "./lib/index.js", @@ -47,10 +47,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/bench": "^2.0.12", "@thi.ng/errors": "^1.2.14", - "@thi.ng/pointfree": "^2.0.4", + "@thi.ng/pointfree": "^2.0.5", "commander": "^5.1.0", "tslib": "^1.12.0" }, diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index fd1c800859..1f49f71f2a 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.4...@thi.ng/pointfree@2.0.5) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/pointfree + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@1.3.3...@thi.ng/pointfree@2.0.0) (2020-04-16) diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 8b3c1fa1c3..718af06344 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "2.0.4", + "version": "2.0.5", "description": "Pointfree functional composition / Forth style stack execution engine", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compose": "^1.4.7", + "@thi.ng/compose": "^1.4.8", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 92405c60e4..2a593d9eed 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.0...@thi.ng/poisson@1.1.1) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/poisson + + + + + # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.0.17...@thi.ng/poisson@1.1.0) (2020-05-29) diff --git a/packages/poisson/package.json b/packages/poisson/package.json index b750b70865..cc7142d7d0 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.1.0", + "version": "1.1.1", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/geom-api": "^1.0.18", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/geom-api": "^1.0.19", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index c81030290e..f34d6fb2bb 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.19...@thi.ng/porter-duff@0.1.20) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/porter-duff + + + + + # 0.1.0 (2019-07-31) ### Bug Fixes diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index f6ca1da5b6..c02b49d394 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/porter-duff", - "version": "0.1.19", + "version": "0.1.20", "description": "Porter-Duff operators for packed ints & float-array alpha compositing", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/math": "^1.7.10", "tslib": "^1.12.0" }, diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 270f30d1b9..5c9c6e5984 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.18...@thi.ng/ramp@0.1.19) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/ramp + + + + + ## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.17...@thi.ng/ramp@0.1.18) (2020-05-29) **Note:** Version bump only for package @thi.ng/ramp diff --git a/packages/ramp/package.json b/packages/ramp/package.json index 23a8e72c19..e563e39f83 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.18", + "version": "0.1.19", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", - "@thi.ng/compare": "^1.3.6", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", + "@thi.ng/compare": "^1.3.7", "@thi.ng/math": "^1.7.10", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index dbd13f0658..7d45a641ff 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.4.9...@thi.ng/random@1.4.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/random + + + + + # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@1.3.2...@thi.ng/random@1.4.0) (2020-03-01) diff --git a/packages/random/package.json b/packages/random/package.json index 14d8cdd64e..8ec1704d49 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/random", - "version": "1.4.9", + "version": "1.4.10", "description": "Pseudo-random number generators w/ unified API", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "tslib": "^1.12.0" }, diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index f9010d740d..f886506d98 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.44...@thi.ng/range-coder@1.0.45) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + ## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.43...@thi.ng/range-coder@1.0.44) (2020-05-29) **Note:** Version bump only for package @thi.ng/range-coder diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 5b279ad9da..0ee557e89e 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "1.0.44", + "version": "1.0.45", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -34,7 +34,7 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.8.0", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "@types/mocha": "^7.0.2", "@types/node": "^14.0.1", "mocha": "^7.1.2", diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 2dd60baf2b..289276af8f 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.24...@thi.ng/resolve-map@4.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/resolve-map + + + + + ## [4.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.1.1...@thi.ng/resolve-map@4.1.2) (2019-07-08) ### Bug Fixes diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 51c1e38e26..23a73f2cf0 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "4.1.24", + "version": "4.1.25", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -42,7 +42,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 8340d07a82..2b37b4e06e 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.21...@thi.ng/router@2.0.22) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/router + + + + + # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@1.0.12...@thi.ng/router@2.0.0) (2019-07-07) ### Code Refactoring diff --git a/packages/router/package.json b/packages/router/package.json index c17704cb49..59f613339c 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "2.0.21", + "version": "2.0.22", "description": "Generic router for browser & non-browser based applications", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 37bb031900..e229bba202 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.22...@thi.ng/rstream-csp@2.0.23) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [2.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.21...@thi.ng/rstream-csp@2.0.22) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 495e6c1493..ee280b6887 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.22", + "version": "2.0.23", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/csp": "^1.1.24", - "@thi.ng/rstream": "^4.3.3", + "@thi.ng/csp": "^1.1.25", + "@thi.ng/rstream": "^4.3.4", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 357838bf3f..acfe336063 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.29...@thi.ng/rstream-dot@1.1.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.1.28...@thi.ng/rstream-dot@1.1.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 84e4c0ee4b..4b9691a489 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.1.29", + "version": "1.1.30", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.3", + "@thi.ng/rstream": "^4.3.4", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 807f833133..eb5b803063 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.21...@thi.ng/rstream-gestures@2.0.22) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@2.0.20...@thi.ng/rstream-gestures@2.0.21) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 1662e73ee3..d9aabb6122 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "2.0.21", + "version": "2.0.22", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.3", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/rstream": "^4.3.4", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 4f74b5a37d..93aac886c7 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.22...@thi.ng/rstream-graph@3.2.23) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [3.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.21...@thi.ng/rstream-graph@3.2.22) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 8879ce5b00..c6d230543a 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.22", + "version": "3.2.23", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", - "@thi.ng/resolve-map": "^4.1.24", - "@thi.ng/rstream": "^4.3.3", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/resolve-map": "^4.1.25", + "@thi.ng/rstream": "^4.3.4", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index 29266e6c31..471b8a35e6 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.44...@thi.ng/rstream-log-file@0.1.45) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-log-file + + + + + ## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.43...@thi.ng/rstream-log-file@0.1.44) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index d4d21c5149..683e941c37 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.44", + "version": "0.1.45", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/rstream": "^4.3.3", + "@thi.ng/rstream": "^4.3.4", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index f15242c5ca..c2a658f8c8 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.29...@thi.ng/rstream-log@3.1.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [3.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.1.28...@thi.ng/rstream-log@3.1.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 51998ceb6d..b196335ef1 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.1.29", + "version": "3.1.30", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/rstream": "^4.3.3", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/rstream": "^4.3.4", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 2e95459a8b..69c505c469 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.29...@thi.ng/rstream-query@1.1.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.28...@thi.ng/rstream-query@1.1.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 5a160b5216..515292f8d7 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.29", + "version": "1.1.30", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.9", + "@thi.ng/api": "^6.11.0", + "@thi.ng/associative": "^4.0.10", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/rstream": "^4.3.3", - "@thi.ng/rstream-dot": "^1.1.29", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/rstream": "^4.3.4", + "@thi.ng/rstream-dot": "^1.1.30", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index dc68b1a07c..9209f7c068 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.3.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.3...@thi.ng/rstream@4.3.4) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [4.3.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@4.3.2...@thi.ng/rstream@4.3.3) (2020-05-29) **Note:** Version bump only for package @thi.ng/rstream diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 1789498d57..95f39ad059 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "4.3.3", + "version": "4.3.4", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -43,13 +43,13 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.9", - "@thi.ng/atom": "^4.1.8", + "@thi.ng/api": "^6.11.0", + "@thi.ng/associative": "^4.0.10", + "@thi.ng/atom": "^4.1.9", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index dda464fce4..391f115be0 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.24...@thi.ng/sax@1.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/sax + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.23...@thi.ng/sax@1.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index 2c21782d07..954b013d55 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.24", + "version": "1.1.25", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/transducers-fsm": "^1.1.24", + "@thi.ng/api": "^6.11.0", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/transducers-fsm": "^1.1.25", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index 2f946ee23c..d66084e0dd 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.19...@thi.ng/scenegraph@0.1.20) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/scenegraph + + + + + ## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.1.18...@thi.ng/scenegraph@0.1.19) (2020-05-29) **Note:** Version bump only for package @thi.ng/scenegraph diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 29ead84141..f45db1b368 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.1.19", + "version": "0.1.20", "description": "Extensible 2D/3D scene graph with @thi.ng/hdom-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/matrices": "^0.6.16", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/matrices": "^0.6.17", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 483c99bc6d..4f6a0ac4ed 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.13...@thi.ng/seq@0.2.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/seq + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.1.0...@thi.ng/seq@0.2.0) (2020-01-24) ### Features diff --git a/packages/seq/package.json b/packages/seq/package.json index 46dbfaa875..24ed5735bc 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/seq", - "version": "0.2.13", + "version": "0.2.14", "description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "tslib": "^1.12.0" }, diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index 563d1a12c5..b911fa5945 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.16...@thi.ng/sexpr@0.2.17) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/sexpr + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.1.0...@thi.ng/sexpr@0.2.0) (2019-09-23) ### Features diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 36ca2c2708..e1ba48dd96 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sexpr", - "version": "0.2.16", + "version": "0.2.17", "description": "Extensible S-Expression parser & runtime infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", + "@thi.ng/defmulti": "^1.2.16", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index 67eef4715f..0038e22107 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.27...@thi.ng/shader-ast-glsl@0.1.28) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/shader-ast-glsl + + + + + ## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.1.26...@thi.ng/shader-ast-glsl@0.1.27) (2020-05-29) **Note:** Version bump only for package @thi.ng/shader-ast-glsl diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 573cfe8485..39eba5a7fd 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-glsl", - "version": "0.1.27", + "version": "0.1.28", "description": "Customizable GLSL code generator for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/shader-ast": "^0.3.22", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index c5c99df9d1..6857a2b795 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.23...@thi.ng/shader-ast-js@0.4.24) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/shader-ast-js + + + + + ## [0.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.4.22...@thi.ng/shader-ast-js@0.4.23) (2020-05-29) **Note:** Version bump only for package @thi.ng/shader-ast-js diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 550397b726..30e54617a5 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.4.23", + "version": "0.4.24", "description": "Customizable JS code generator, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -43,14 +43,14 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/matrices": "^0.6.16", - "@thi.ng/pixel": "^0.3.0", - "@thi.ng/shader-ast": "^0.3.21", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/matrices": "^0.6.17", + "@thi.ng/pixel": "^0.3.1", + "@thi.ng/shader-ast": "^0.3.22", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 63d1ac82df..225c2d7832 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.20...@thi.ng/shader-ast-stdlib@0.3.21) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/shader-ast-stdlib + + + + + ## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.3.19...@thi.ng/shader-ast-stdlib@0.3.20) (2020-05-29) **Note:** Version bump only for package @thi.ng/shader-ast-stdlib diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index 37b2f657de..c13080d174 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-stdlib", - "version": "0.3.20", + "version": "0.3.21", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -43,7 +43,7 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/shader-ast": "^0.3.21", + "@thi.ng/shader-ast": "^0.3.22", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index e69b064228..23d00c98f3 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.21...@thi.ng/shader-ast@0.3.22) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/shader-ast + + + + + ## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.3.20...@thi.ng/shader-ast@0.3.21) (2020-05-29) **Note:** Version bump only for package @thi.ng/shader-ast diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 92f1662d65..111a5360d9 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.3.21", + "version": "0.3.22", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", - "@thi.ng/defmulti": "^1.2.15", - "@thi.ng/dgraph": "^1.2.9", + "@thi.ng/defmulti": "^1.2.16", + "@thi.ng/dgraph": "^1.2.10", "@thi.ng/errors": "^1.2.14", "tslib": "^1.12.0" }, diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index f8372d8a8f..4ed7430d6a 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.2.1...@thi.ng/simd@0.2.2) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/simd + + + + + ## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.2.0...@thi.ng/simd@0.2.1) (2020-05-29) **Note:** Version bump only for package @thi.ng/simd diff --git a/packages/simd/package.json b/packages/simd/package.json index 7dc0a696f5..c2382533ae 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.2.1", + "version": "0.2.2", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -47,8 +47,8 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/transducers-binary": "^0.5.14", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/transducers-binary": "^0.5.15", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index c398bf0113..795f778657 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.20...@thi.ng/soa@0.1.21) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/soa + + + + + ## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.1.19...@thi.ng/soa@0.1.20) (2020-05-29) **Note:** Version bump only for package @thi.ng/soa diff --git a/packages/soa/package.json b/packages/soa/package.json index 3ae5da60c2..9756523e8a 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.1.20", + "version": "0.1.21", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -44,10 +44,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", - "@thi.ng/transducers-binary": "^0.5.14", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/transducers-binary": "^0.5.15", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 3e4e696366..d95f919b62 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.40...@thi.ng/sparse@0.1.41) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/sparse + + + + + ## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.39...@thi.ng/sparse@0.1.40) (2020-05-29) **Note:** Version bump only for package @thi.ng/sparse diff --git a/packages/sparse/package.json b/packages/sparse/package.json index d56411e8be..78a821829b 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.40", + "version": "0.1.41", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/api": "^6.11.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 4bb9343e09..489c33539f 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.8.8...@thi.ng/strings@1.8.9) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/strings + + + + + # [1.8.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.7.0...@thi.ng/strings@1.8.0) (2020-03-28) diff --git a/packages/strings/package.json b/packages/strings/package.json index 38fb7bc9ec..51fc0ffa03 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "1.8.8", + "version": "1.8.9", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/errors": "^1.2.14", - "@thi.ng/memoize": "^2.0.11", + "@thi.ng/memoize": "^2.0.12", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index 30d8167baa..4f661f4d13 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.9...@thi.ng/system@0.2.10) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/system + + + + + ## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.8...@thi.ng/system@0.2.9) (2020-05-29) **Note:** Version bump only for package @thi.ng/system diff --git a/packages/system/package.json b/packages/system/package.json index dd216d0510..f2e854b8d4 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/system", - "version": "0.2.9", + "version": "0.2.10", "description": "Minimal DI / life cycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/dgraph": "^1.2.9", + "@thi.ng/api": "^6.11.0", + "@thi.ng/dgraph": "^1.2.10", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index 84f6bbe361..d0e8a103d4 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.13...@thi.ng/text-canvas@0.2.14) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/text-canvas + + + + + ## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.2.12...@thi.ng/text-canvas@0.2.13) (2020-05-29) **Note:** Version bump only for package @thi.ng/text-canvas diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 6591d10851..dd6fc641fe 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.2.13", + "version": "0.2.14", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -44,12 +44,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", - "@thi.ng/geom-clip-line": "^1.0.16", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", + "@thi.ng/geom-clip-line": "^1.0.17", "@thi.ng/math": "^1.7.10", - "@thi.ng/memoize": "^2.0.11", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/memoize": "^2.0.12", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index 28f24068d4..97378f6253 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.14...@thi.ng/transducers-binary@0.5.15) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/transducers-binary + + + + + ## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.5.13...@thi.ng/transducers-binary@0.5.14) (2020-05-29) **Note:** Version bump only for package @thi.ng/transducers-binary diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 5f175adb9f..f2b5a171b8 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.5.14", + "version": "0.5.15", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -43,10 +43,10 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/compose": "^1.4.7", - "@thi.ng/random": "^1.4.9", - "@thi.ng/strings": "^1.8.8", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/compose": "^1.4.8", + "@thi.ng/random": "^1.4.10", + "@thi.ng/strings": "^1.8.9", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index d4cb11307f..9004ad7a89 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.24...@thi.ng/transducers-fsm@1.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.23...@thi.ng/transducers-fsm@1.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/transducers-fsm diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 8ff8cb8f8a..f6cc51a581 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "1.1.24", + "version": "1.1.25", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/api": "^6.11.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 75d70744cb..4ede4d82e9 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.53...@thi.ng/transducers-hdom@2.0.54) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + ## [2.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.52...@thi.ng/transducers-hdom@2.0.53) (2020-05-29) **Note:** Version bump only for package @thi.ng/transducers-hdom diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index a2fe34b150..45c2a43eba 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.53", + "version": "2.0.54", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -43,9 +43,9 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/hdom": "^8.0.26", - "@thi.ng/hiccup": "^3.2.23", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/hdom": "^8.0.27", + "@thi.ng/hiccup": "^3.2.24", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index d13ffb5d7e..016823cc5f 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.15...@thi.ng/transducers-patch@0.1.16) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/transducers-patch + + + + + ## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.1.14...@thi.ng/transducers-patch@0.1.15) (2020-05-29) **Note:** Version bump only for package @thi.ng/transducers-patch diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 671c617c08..95d4fda790 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.1.15", + "version": "0.1.16", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/checks": "^2.7.0", "@thi.ng/errors": "^1.2.14", "@thi.ng/paths": "^4.0.7", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 244cea001a..54a0de49dc 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.24...@thi.ng/transducers-stats@1.1.25) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + ## [1.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.23...@thi.ng/transducers-stats@1.1.24) (2020-05-29) **Note:** Version bump only for package @thi.ng/transducers-stats diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index eab5b030b3..46f1924796 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "1.1.24", + "version": "1.1.25", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -44,9 +44,9 @@ }, "dependencies": { "@thi.ng/checks": "^2.7.0", - "@thi.ng/dcons": "^2.2.17", + "@thi.ng/dcons": "^2.2.18", "@thi.ng/errors": "^1.2.14", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index 3cdcc1ffae..9c0444a9cc 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.6.0...@thi.ng/transducers@6.7.0) (2020-06-01) + + +### Features + +* **transducers:** add IDeref support slidingWindow() ([13f4184](https://github.com/thi-ng/umbrella/commit/13f4184f755fadb0a585b7e443c1218a7e2df5db)) + + + + + # [6.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@6.5.0...@thi.ng/transducers@6.6.0) (2020-05-29) diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 4dce0fcd7e..d275fdbffe 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "6.6.0", + "version": "6.7.0", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -43,16 +43,16 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", - "@thi.ng/compare": "^1.3.6", - "@thi.ng/compose": "^1.4.7", + "@thi.ng/compare": "^1.3.7", + "@thi.ng/compose": "^1.4.8", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/random": "^1.4.9", - "@thi.ng/strings": "^1.8.8", + "@thi.ng/random": "^1.4.10", + "@thi.ng/strings": "^1.8.9", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 0168d00310..4a5c2adeb5 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.29...@thi.ng/vector-pools@1.0.30) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/vector-pools + + + + + ## [1.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@1.0.28...@thi.ng/vector-pools@1.0.29) (2020-05-29) **Note:** Version bump only for package @thi.ng/vector-pools diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index 444cd3edf0..711df93220 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "1.0.29", + "version": "1.0.30", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", - "@thi.ng/malloc": "^4.1.15", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/malloc": "^4.1.16", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index 652a29e7f0..6b6fad3955 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.4.1...@thi.ng/vectors@4.4.2) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + ## [4.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@4.4.0...@thi.ng/vectors@4.4.1) (2020-05-29) **Note:** Version bump only for package @thi.ng/vectors diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 75a3b60c71..bdc5b54eb5 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "4.4.1", + "version": "4.4.2", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", + "@thi.ng/api": "^6.11.0", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", "@thi.ng/math": "^1.7.10", - "@thi.ng/memoize": "^2.0.11", - "@thi.ng/random": "^1.4.9", - "@thi.ng/transducers": "^6.6.0", + "@thi.ng/memoize": "^2.0.12", + "@thi.ng/random": "^1.4.10", + "@thi.ng/transducers": "^6.7.0", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index 3310af48dc..0d7c64240a 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.33...@thi.ng/webgl-msdf@0.1.34) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/webgl-msdf + + + + + ## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.32...@thi.ng/webgl-msdf@0.1.33) (2020-05-29) **Note:** Version bump only for package @thi.ng/webgl-msdf diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index 11fbf7676e..6bb68acfe5 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.33", + "version": "0.1.34", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -43,12 +43,12 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/shader-ast": "^0.3.21", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vector-pools": "^1.0.29", - "@thi.ng/vectors": "^4.4.1", - "@thi.ng/webgl": "^1.0.15", + "@thi.ng/api": "^6.11.0", + "@thi.ng/shader-ast": "^0.3.22", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vector-pools": "^1.0.30", + "@thi.ng/vectors": "^4.4.2", + "@thi.ng/webgl": "^1.0.16", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index 569b33c491..4a12dd6709 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.20...@thi.ng/webgl-shadertoy@0.2.21) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/webgl-shadertoy + + + + + ## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.19...@thi.ng/webgl-shadertoy@0.2.20) (2020-05-29) **Note:** Version bump only for package @thi.ng/webgl-shadertoy diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index e5308955f0..9f3c63e492 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.20", + "version": "0.2.21", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/shader-ast": "^0.3.21", - "@thi.ng/shader-ast-glsl": "^0.1.27", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/webgl": "^1.0.15", + "@thi.ng/api": "^6.11.0", + "@thi.ng/shader-ast": "^0.3.22", + "@thi.ng/shader-ast-glsl": "^0.1.28", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/webgl": "^1.0.16", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index b8e881c4bd..51b8886b4a 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.15...@thi.ng/webgl@1.0.16) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/webgl + + + + + ## [1.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@1.0.14...@thi.ng/webgl@1.0.15) (2020-05-29) **Note:** Version bump only for package @thi.ng/webgl diff --git a/packages/webgl/package.json b/packages/webgl/package.json index 3f4dd63282..1f088348ce 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "1.0.15", + "version": "1.0.16", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -43,20 +43,20 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/associative": "^4.0.9", + "@thi.ng/api": "^6.11.0", + "@thi.ng/associative": "^4.0.10", "@thi.ng/binary": "^2.0.7", "@thi.ng/checks": "^2.7.0", "@thi.ng/equiv": "^1.0.23", "@thi.ng/errors": "^1.2.14", - "@thi.ng/matrices": "^0.6.16", - "@thi.ng/pixel": "^0.3.0", - "@thi.ng/shader-ast": "^0.3.21", - "@thi.ng/shader-ast-glsl": "^0.1.27", - "@thi.ng/shader-ast-stdlib": "^0.3.20", - "@thi.ng/transducers": "^6.6.0", - "@thi.ng/vector-pools": "^1.0.29", - "@thi.ng/vectors": "^4.4.1", + "@thi.ng/matrices": "^0.6.17", + "@thi.ng/pixel": "^0.3.1", + "@thi.ng/shader-ast": "^0.3.22", + "@thi.ng/shader-ast-glsl": "^0.1.28", + "@thi.ng/shader-ast-stdlib": "^0.3.21", + "@thi.ng/transducers": "^6.7.0", + "@thi.ng/vector-pools": "^1.0.30", + "@thi.ng/vectors": "^4.4.2", "tslib": "^1.12.0" }, "files": [ diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index 7dc5672619..451aa12060 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.15...@thi.ng/zipper@0.1.16) (2020-06-01) + +**Note:** Version bump only for package @thi.ng/zipper + + + + + # 0.1.0 (2019-11-30) ### Features diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 49a5227442..bb3f926328 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.15", + "version": "0.1.16", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -43,8 +43,8 @@ "typescript": "^3.9.2" }, "dependencies": { - "@thi.ng/api": "^6.10.5", - "@thi.ng/arrays": "^0.6.7", + "@thi.ng/api": "^6.11.0", + "@thi.ng/arrays": "^0.6.8", "@thi.ng/checks": "^2.7.0", "tslib": "^1.12.0" },