@_linked/core 2.0.0-next.20260311072023 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +43 -31
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#27](https://github.com/Semantu/linked/pull/27) [`d3c1e91`](https://github.com/Semantu/linked/commit/d3c1e918b2a63240ddbf3cb550ec43fa1e019c35) Thanks [@flyon](https://github.com/flyon)! - Add MINUS support on QueryBuilder with multiple call styles:
8
+
9
+ - `.minus(Shape)` — exclude by shape type
10
+ - `.minus(p => p.prop.equals(val))` — exclude by condition
11
+ - `.minus(p => p.prop)` — exclude by property existence
12
+ - `.minus(p => [p.prop1, p.nested.prop2])` — exclude by multi-property existence with nested path support
13
+
14
+ Add bulk delete operations:
15
+
16
+ - `Shape.deleteAll()` / `DeleteBuilder.from(Shape).all()` — delete all instances with schema-aware blank node cleanup
17
+ - `Shape.deleteWhere(fn)` / `DeleteBuilder.from(Shape).where(fn)` — conditional delete
18
+
19
+ Add conditional update operations:
20
+
21
+ - `.update(data).where(fn)` — update matching instances
22
+ - `.update(data).forAll()` — update all instances
23
+
24
+ API cleanup:
25
+
26
+ - Deprecate `sortBy()` in favor of `orderBy()`
27
+ - Remove `DeleteBuilder.for()` — use `DeleteBuilder.from(shape, ids)` instead
28
+ - Require `data` parameter in `Shape.update(data)`
29
+
3
30
  ## 2.0.0
4
31
 
5
32
  ### Major Changes
@@ -111,12 +138,28 @@
111
138
 
112
139
  New concrete constructor type for Shape subclasses. Eliminates ~30 `as any` casts across the codebase and provides better type safety at runtime boundaries (builder `.from()` methods, Shape static methods).
113
140
 
141
+ ## 1.3.0
142
+
114
143
  ### Minor Changes
115
144
 
116
145
  - [#20](https://github.com/Semantu/linked/pull/20) [`33e9fb0`](https://github.com/Semantu/linked/commit/33e9fb0205343eca8c84723cbabc3f3342e40be5) Thanks [@flyon](https://github.com/flyon)! - **Breaking:** `QueryParser` has been removed. If you imported `QueryParser` directly, replace with `getQueryDispatch()` from `@_linked/core/queries/queryDispatch`. The Shape DSL (`Shape.select()`, `.create()`, `.update()`, `.delete()`) and `SelectQuery.exec()` are unchanged.
117
146
 
118
147
  **New:** `getQueryDispatch()` and `setQueryDispatch()` are now exported, allowing custom query dispatch implementations (e.g. for testing or alternative storage backends) without subclassing `LinkedStorage`.
119
148
 
149
+ ## 1.2.1
150
+
151
+ ### Patch Changes
152
+
153
+ - [#17](https://github.com/Semantu/linked/pull/17) [`0654780`](https://github.com/Semantu/linked/commit/06547807a7bae56e992eba73263f83e092b7788b) Thanks [@flyon](https://github.com/flyon)! - Preserve nested array sub-select branches in canonical IR so `build()` emits complete traversals, projection fields, and `resultMap` entries for nested selections.
154
+
155
+ This fixes cases where nested branches present in `toRawInput().select` were dropped during desugar/lowering (for example nested `friends.select([name, hobby])` branches under another sub-select).
156
+
157
+ Also adds regression coverage for desugar preservation, IR lowering completeness, and updated SPARQL golden output for nested query fixtures.
158
+
159
+ ## 1.2.0
160
+
161
+ ### Minor Changes
162
+
120
163
  - [#9](https://github.com/Semantu/linked/pull/9) [`381067b`](https://github.com/Semantu/linked/commit/381067b0fbc25f4a0446c5f8cc0eec57ddded466) Thanks [@flyon](https://github.com/flyon)! - Replaced internal query representation with a canonical backend-agnostic IR AST. `SelectQuery`, `CreateQuery`, `UpdateQuery`, and `DeleteQuery` are now typed IR objects with `kind` discriminators, compact shape/property ID references, and expression trees — replacing the previous ad-hoc nested arrays. The public Shape DSL is unchanged; what changed is what `IQuadStore` implementations receive. Store result types (`ResultRow`, `SelectResult`, `CreateResult`, `UpdateResult`) are now exported. All factories expose `build()` as the primary method. See `documentation/intermediate-representation.md` for the full IR reference and migration guidance.
121
164
 
122
165
  - [#14](https://github.com/Semantu/linked/pull/14) [`b65e156`](https://github.com/Semantu/linked/commit/b65e15688ac173478e58e1dbb9f26dbaf5fc5a37) Thanks [@flyon](https://github.com/flyon)! - Add SPARQL conversion layer — compiles Linked IR queries into executable SPARQL and maps results back to typed DSL objects.
@@ -173,37 +216,6 @@
173
216
 
174
217
  See [SPARQL Algebra Layer docs](./documentation/sparql-algebra.md) for the full type reference, conversion rules, and store implementation guide.
175
218
 
176
- ### Patch Changes
177
-
178
- - [#27](https://github.com/Semantu/linked/pull/27) [`d3c1e91`](https://github.com/Semantu/linked/commit/d3c1e918b2a63240ddbf3cb550ec43fa1e019c35) Thanks [@flyon](https://github.com/flyon)! - Add MINUS support on QueryBuilder with multiple call styles:
179
-
180
- - `.minus(Shape)` — exclude by shape type
181
- - `.minus(p => p.prop.equals(val))` — exclude by condition
182
- - `.minus(p => p.prop)` — exclude by property existence
183
- - `.minus(p => [p.prop1, p.nested.prop2])` — exclude by multi-property existence with nested path support
184
-
185
- Add bulk delete operations:
186
-
187
- - `Shape.deleteAll()` / `DeleteBuilder.from(Shape).all()` — delete all instances with schema-aware blank node cleanup
188
- - `Shape.deleteWhere(fn)` / `DeleteBuilder.from(Shape).where(fn)` — conditional delete
189
-
190
- Add conditional update operations:
191
-
192
- - `.update(data).where(fn)` — update matching instances
193
- - `.update(data).forAll()` — update all instances
194
-
195
- API cleanup:
196
-
197
- - Deprecate `sortBy()` in favor of `orderBy()`
198
- - Remove `DeleteBuilder.for()` — use `DeleteBuilder.from(shape, ids)` instead
199
- - Require `data` parameter in `Shape.update(data)`
200
-
201
- - [#17](https://github.com/Semantu/linked/pull/17) [`0654780`](https://github.com/Semantu/linked/commit/06547807a7bae56e992eba73263f83e092b7788b) Thanks [@flyon](https://github.com/flyon)! - Preserve nested array sub-select branches in canonical IR so `build()` emits complete traversals, projection fields, and `resultMap` entries for nested selections.
202
-
203
- This fixes cases where nested branches present in `toRawInput().select` were dropped during desugar/lowering (for example nested `friends.select([name, hobby])` branches under another sub-select).
204
-
205
- Also adds regression coverage for desugar preservation, IR lowering completeness, and updated SPARQL golden output for nested query fixtures.
206
-
207
219
  ## 1.1.0
208
220
 
209
221
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@_linked/core",
3
- "version": "2.0.0-next.20260311072023",
3
+ "version": "2.0.1",
4
4
  "license": "MIT",
5
5
  "description": "Linked.js core query and SHACL shape DSL (copy-then-prune baseline)",
6
6
  "repository": {