From 9c59c46e19e398d5abf68f98560c24a6de6cc78e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 30 Aug 2026 18:27:14 +0000 Subject: [PATCH] chore: version packages --- .changeset/lazy-hounds-search.md | 21 ------ .changeset/quiet-pandas-tickle.md | 51 --------------- packages/adapter-api/CHANGELOG.md | 55 ++++++++++++++++ packages/adapter-api/package.json | 2 +- packages/adapter-local/CHANGELOG.md | 13 ++++ packages/adapter-local/package.json | 2 +- packages/blob-adapter-disk/CHANGELOG.md | 11 ++++ packages/blob-adapter-disk/package.json | 2 +- packages/commons/CHANGELOG.md | 11 ++++ packages/commons/package.json | 2 +- packages/conformance-fixtures/CHANGELOG.md | 54 ++++++++++++++++ packages/conformance-fixtures/package.json | 2 +- packages/core/CHANGELOG.md | 49 ++++++++++++++ packages/core/package.json | 2 +- packages/record-adapter-sqlite/CHANGELOG.md | 72 +++++++++++++++++++++ packages/record-adapter-sqlite/package.json | 2 +- packages/wire-types/CHANGELOG.md | 11 ++++ packages/wire-types/package.json | 2 +- 18 files changed, 284 insertions(+), 80 deletions(-) delete mode 100644 .changeset/lazy-hounds-search.md delete mode 100644 .changeset/quiet-pandas-tickle.md diff --git a/.changeset/lazy-hounds-search.md b/.changeset/lazy-hounds-search.md deleted file mode 100644 index ba55624..0000000 --- a/.changeset/lazy-hounds-search.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -'@haverstack/record-adapter-sqlite': patch ---- - -Association query filters read through their indexes - -`tags`, `hasAttachment`, `attachmentFileId` and `relatedTo` were correlated -`EXISTS` subqueries, which make SQLite scan every record and probe the association -primary key for each. Phrased as semi-joins, the planner drives from the association -side instead — reading the matching rows through `idx_assoc_kind_label`, -`idx_assoc_kind_file_id`, `idx_file_refs_file_id` or `idx_assoc_related`, then looking -up those records. The cost of an association filter becomes proportional to how many -records match it rather than to how many the stack holds, so the gain grows with -selectivity: the more precisely you ask, the more you save. - -Measured on 20k records with 4k associations, none of the four now needs a full table -scan. `attachmentFileId` benefits most, at 8.8ms to 0.14ms, because SQLite resolves -its two-sided condition as a multi-index OR across both indexes rather than scanning -once and probing twice. - -Results are unchanged; this is the same set of records, found a different way. diff --git a/.changeset/quiet-pandas-tickle.md b/.changeset/quiet-pandas-tickle.md deleted file mode 100644 index 17bcfd6..0000000 --- a/.changeset/quiet-pandas-tickle.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -'@haverstack/core': minor -'@haverstack/record-adapter-sqlite': minor -'@haverstack/conformance-fixtures': minor -'@haverstack/adapter-api': minor ---- - -Relationship associations carry a discriminated `target` instead of a bare `recordId` - -A relationship's target now names which identifier space its value belongs to: -`{ scope: 'record', recordId, stackUrl? }` for a Record here or in another stack, -`{ scope: 'entity', entityId }` for a DID, and `{ scope: 'external', ns, id }` for -anything outside the stack — an ATProto post, an ActivityPub actor, an email address, -a URL. Core expresses the reference and never dereferences it, so no protocol is -privileged. - -The `entity` arm closes a gap in the identity model rather than only enabling external -references: group rosters stored member DIDs in a field typed `RecordId`, and the -permission path compared the two as plain strings. A roster entry carrying a `record` -target now confers nothing, even when its value equals a member's DID. - -`RecordFilter.relatedTo` moves with it. It names a label, a target, or both, and each -is a pattern: a bare `label` matches every target under it, and an external target with -no `id` matches a whole namespace. A `record` target with no `stackUrl` matches only -local targets — absence names this stack rather than acting as a wildcard. Label-only -and namespace-wide queries were not expressible before. "Carries any relationship at -all" is deliberately not expressible, in line with `tags` and `hasAttachment`, which -have no match-any form either. - -Reference-creation gating now applies only to a relationship naming a Record in this -stack; the other arms name nothing core can resolve, so there is no access for the -gate to protect. The SQLite association table gains `related_scope`, `related_ns` and -`related_stack` columns, all part of the primary key — so two copies of one record on -two networks are two associations rather than a silent no-op. Existing stack files -predate those columns and must be recreated. - -Over the wire, the relationship filter's scope is implied by which parameters appear -(`relatedTo`/`relatedToStack`, `relatedToEntity`, or `relatedToNs`/`relatedToId`), and -a request mixing scopes is rejected with 400. At least one is always present, so the -filter cannot encode to an empty query string and widen the query it meant to narrow. - -A target names exactly one thing, exactly one way, and both halves are enforced at -runtime rather than only by the type — a target reaching a server in a request body, -or a filter decoded from query parameters, is a plain object the type never saw. A -`scope` outside the three, or an empty string where a target names something, is -rejected with `StackValidationError`; a `relatedTo` naming neither a label nor a target -is rejected with `StackQueryError` instead of matching every Record carrying a -relationship. This stack is named by omitting `stackUrl`, never by sending an empty -one: storage, association identity and the filter all read absent and empty as this -stack, and reference-creation gating now reads them that way too, so both spellings of -a local Record require read access to it. diff --git a/packages/adapter-api/CHANGELOG.md b/packages/adapter-api/CHANGELOG.md index a63c30a..b24f870 100644 --- a/packages/adapter-api/CHANGELOG.md +++ b/packages/adapter-api/CHANGELOG.md @@ -1,5 +1,60 @@ # @haverstack/adapter-api +## 0.13.0 + +### Minor Changes + +- [#207](https://github.com/haverstack/core/pull/207) [`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Relationship associations carry a discriminated `target` instead of a bare `recordId` + + A relationship's target now names which identifier space its value belongs to: + `{ scope: 'record', recordId, stackUrl? }` for a Record here or in another stack, + `{ scope: 'entity', entityId }` for a DID, and `{ scope: 'external', ns, id }` for + anything outside the stack — an ATProto post, an ActivityPub actor, an email address, + a URL. Core expresses the reference and never dereferences it, so no protocol is + privileged. + + The `entity` arm closes a gap in the identity model rather than only enabling external + references: group rosters stored member DIDs in a field typed `RecordId`, and the + permission path compared the two as plain strings. A roster entry carrying a `record` + target now confers nothing, even when its value equals a member's DID. + + `RecordFilter.relatedTo` moves with it. It names a label, a target, or both, and each + is a pattern: a bare `label` matches every target under it, and an external target with + no `id` matches a whole namespace. A `record` target with no `stackUrl` matches only + local targets — absence names this stack rather than acting as a wildcard. Label-only + and namespace-wide queries were not expressible before. "Carries any relationship at + all" is deliberately not expressible, in line with `tags` and `hasAttachment`, which + have no match-any form either. + + Reference-creation gating now applies only to a relationship naming a Record in this + stack; the other arms name nothing core can resolve, so there is no access for the + gate to protect. The SQLite association table gains `related_scope`, `related_ns` and + `related_stack` columns, all part of the primary key — so two copies of one record on + two networks are two associations rather than a silent no-op. Existing stack files + predate those columns and must be recreated. + + Over the wire, the relationship filter's scope is implied by which parameters appear + (`relatedTo`/`relatedToStack`, `relatedToEntity`, or `relatedToNs`/`relatedToId`), and + a request mixing scopes is rejected with 400. At least one is always present, so the + filter cannot encode to an empty query string and widen the query it meant to narrow. + + A target names exactly one thing, exactly one way, and both halves are enforced at + runtime rather than only by the type — a target reaching a server in a request body, + or a filter decoded from query parameters, is a plain object the type never saw. A + `scope` outside the three, or an empty string where a target names something, is + rejected with `StackValidationError`; a `relatedTo` naming neither a label nor a target + is rejected with `StackQueryError` instead of matching every Record carrying a + relationship. This stack is named by omitting `stackUrl`, never by sending an empty + one: storage, association identity and the filter all read absent and empty as this + stack, and reference-creation gating now reads them that way too, so both spellings of + a local Record require read access to it. + +### Patch Changes + +- Updated dependencies [[`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/wire-types@0.13.0 + - @haverstack/core@0.14.0 + ## 0.12.2 ### Patch Changes diff --git a/packages/adapter-api/package.json b/packages/adapter-api/package.json index 3f9beca..51aacdb 100644 --- a/packages/adapter-api/package.json +++ b/packages/adapter-api/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/adapter-api", - "version": "0.12.2", + "version": "0.13.0", "description": "Remote server adapter for Haverstack", "type": "module", "exports": { diff --git a/packages/adapter-local/CHANGELOG.md b/packages/adapter-local/CHANGELOG.md index 42dd5e2..3075961 100644 --- a/packages/adapter-local/CHANGELOG.md +++ b/packages/adapter-local/CHANGELOG.md @@ -1,5 +1,18 @@ # @haverstack/adapter-local +## 0.13.0 + +### Minor Changes + +- Released for a breaking change in `@haverstack/blob-adapter-disk`, `@haverstack/core`, `@haverstack/record-adapter-sqlite`. + +### Patch Changes + +- Updated dependencies [[`d69e53b`](https://github.com/haverstack/core/commit/d69e53b287394c968b960beafdda27d1123f8386), [`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/blob-adapter-disk@0.12.0 + - @haverstack/record-adapter-sqlite@0.6.0 + - @haverstack/core@0.14.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/adapter-local/package.json b/packages/adapter-local/package.json index b18ba8c..b3d93b3 100644 --- a/packages/adapter-local/package.json +++ b/packages/adapter-local/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/adapter-local", - "version": "0.12.0", + "version": "0.13.0", "description": "Local (SQLite + disk) stack adapter for Haverstack", "type": "module", "engines": { diff --git a/packages/blob-adapter-disk/CHANGELOG.md b/packages/blob-adapter-disk/CHANGELOG.md index 95a474c..f3bb56c 100644 --- a/packages/blob-adapter-disk/CHANGELOG.md +++ b/packages/blob-adapter-disk/CHANGELOG.md @@ -1,5 +1,16 @@ # @haverstack/blob-adapter-disk +## 0.12.0 + +### Minor Changes + +- Released for a breaking change in `@haverstack/core`. + +### Patch Changes + +- Updated dependencies [[`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/core@0.14.0 + ## 0.11.0 ### Minor Changes diff --git a/packages/blob-adapter-disk/package.json b/packages/blob-adapter-disk/package.json index 2b44838..0a560b2 100644 --- a/packages/blob-adapter-disk/package.json +++ b/packages/blob-adapter-disk/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/blob-adapter-disk", - "version": "0.11.0", + "version": "0.12.0", "description": "Disk blob adapter for Haverstack", "type": "module", "exports": { diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index 486b5dc..857eb06 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -1,5 +1,16 @@ # @haverstack/commons +## 0.6.0 + +### Minor Changes + +- Released for a breaking change in `@haverstack/core`. + +### Patch Changes + +- Updated dependencies [[`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/core@0.14.0 + ## 0.5.0 ### Minor Changes diff --git a/packages/commons/package.json b/packages/commons/package.json index a32152f..d571cce 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/commons", - "version": "0.5.0", + "version": "0.6.0", "description": "Canonical Schema Commons type definitions for Haverstack — register commons types exactly as written", "type": "module", "exports": { diff --git a/packages/conformance-fixtures/CHANGELOG.md b/packages/conformance-fixtures/CHANGELOG.md index 4f54d9b..487bca1 100644 --- a/packages/conformance-fixtures/CHANGELOG.md +++ b/packages/conformance-fixtures/CHANGELOG.md @@ -1,5 +1,59 @@ # @haverstack/conformance-fixtures +## 0.7.0 + +### Minor Changes + +- [#207](https://github.com/haverstack/core/pull/207) [`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Relationship associations carry a discriminated `target` instead of a bare `recordId` + + A relationship's target now names which identifier space its value belongs to: + `{ scope: 'record', recordId, stackUrl? }` for a Record here or in another stack, + `{ scope: 'entity', entityId }` for a DID, and `{ scope: 'external', ns, id }` for + anything outside the stack — an ATProto post, an ActivityPub actor, an email address, + a URL. Core expresses the reference and never dereferences it, so no protocol is + privileged. + + The `entity` arm closes a gap in the identity model rather than only enabling external + references: group rosters stored member DIDs in a field typed `RecordId`, and the + permission path compared the two as plain strings. A roster entry carrying a `record` + target now confers nothing, even when its value equals a member's DID. + + `RecordFilter.relatedTo` moves with it. It names a label, a target, or both, and each + is a pattern: a bare `label` matches every target under it, and an external target with + no `id` matches a whole namespace. A `record` target with no `stackUrl` matches only + local targets — absence names this stack rather than acting as a wildcard. Label-only + and namespace-wide queries were not expressible before. "Carries any relationship at + all" is deliberately not expressible, in line with `tags` and `hasAttachment`, which + have no match-any form either. + + Reference-creation gating now applies only to a relationship naming a Record in this + stack; the other arms name nothing core can resolve, so there is no access for the + gate to protect. The SQLite association table gains `related_scope`, `related_ns` and + `related_stack` columns, all part of the primary key — so two copies of one record on + two networks are two associations rather than a silent no-op. Existing stack files + predate those columns and must be recreated. + + Over the wire, the relationship filter's scope is implied by which parameters appear + (`relatedTo`/`relatedToStack`, `relatedToEntity`, or `relatedToNs`/`relatedToId`), and + a request mixing scopes is rejected with 400. At least one is always present, so the + filter cannot encode to an empty query string and widen the query it meant to narrow. + + A target names exactly one thing, exactly one way, and both halves are enforced at + runtime rather than only by the type — a target reaching a server in a request body, + or a filter decoded from query parameters, is a plain object the type never saw. A + `scope` outside the three, or an empty string where a target names something, is + rejected with `StackValidationError`; a `relatedTo` naming neither a label nor a target + is rejected with `StackQueryError` instead of matching every Record carrying a + relationship. This stack is named by omitting `stackUrl`, never by sending an empty + one: storage, association identity and the filter all read absent and empty as this + stack, and reference-creation gating now reads them that way too, so both spellings of + a local Record require read access to it. + +### Patch Changes + +- Updated dependencies []: + - @haverstack/wire-types@0.13.0 + ## 0.6.0 ### Minor Changes diff --git a/packages/conformance-fixtures/package.json b/packages/conformance-fixtures/package.json index 17cc716..6ffe164 100644 --- a/packages/conformance-fixtures/package.json +++ b/packages/conformance-fixtures/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/conformance-fixtures", - "version": "0.6.0", + "version": "0.7.0", "description": "Request/response fixtures for the Stack API wire protocol, shared between adapter-api and server implementations", "type": "module", "exports": { diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index aa4b13e..b0e70d4 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,54 @@ # @haverstack/core +## 0.14.0 + +### Minor Changes + +- [#207](https://github.com/haverstack/core/pull/207) [`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Relationship associations carry a discriminated `target` instead of a bare `recordId` + + A relationship's target now names which identifier space its value belongs to: + `{ scope: 'record', recordId, stackUrl? }` for a Record here or in another stack, + `{ scope: 'entity', entityId }` for a DID, and `{ scope: 'external', ns, id }` for + anything outside the stack — an ATProto post, an ActivityPub actor, an email address, + a URL. Core expresses the reference and never dereferences it, so no protocol is + privileged. + + The `entity` arm closes a gap in the identity model rather than only enabling external + references: group rosters stored member DIDs in a field typed `RecordId`, and the + permission path compared the two as plain strings. A roster entry carrying a `record` + target now confers nothing, even when its value equals a member's DID. + + `RecordFilter.relatedTo` moves with it. It names a label, a target, or both, and each + is a pattern: a bare `label` matches every target under it, and an external target with + no `id` matches a whole namespace. A `record` target with no `stackUrl` matches only + local targets — absence names this stack rather than acting as a wildcard. Label-only + and namespace-wide queries were not expressible before. "Carries any relationship at + all" is deliberately not expressible, in line with `tags` and `hasAttachment`, which + have no match-any form either. + + Reference-creation gating now applies only to a relationship naming a Record in this + stack; the other arms name nothing core can resolve, so there is no access for the + gate to protect. The SQLite association table gains `related_scope`, `related_ns` and + `related_stack` columns, all part of the primary key — so two copies of one record on + two networks are two associations rather than a silent no-op. Existing stack files + predate those columns and must be recreated. + + Over the wire, the relationship filter's scope is implied by which parameters appear + (`relatedTo`/`relatedToStack`, `relatedToEntity`, or `relatedToNs`/`relatedToId`), and + a request mixing scopes is rejected with 400. At least one is always present, so the + filter cannot encode to an empty query string and widen the query it meant to narrow. + + A target names exactly one thing, exactly one way, and both halves are enforced at + runtime rather than only by the type — a target reaching a server in a request body, + or a filter decoded from query parameters, is a plain object the type never saw. A + `scope` outside the three, or an empty string where a target names something, is + rejected with `StackValidationError`; a `relatedTo` naming neither a label nor a target + is rejected with `StackQueryError` instead of matching every Record carrying a + relationship. This stack is named by omitting `stackUrl`, never by sending an empty + one: storage, association identity and the filter all read absent and empty as this + stack, and reference-creation gating now reads them that way too, so both spellings of + a local Record require read access to it. + ## 0.13.1 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 31c501d..201c69a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/core", - "version": "0.13.1", + "version": "0.14.0", "description": "Core library for Haverstack — portable personal data stack", "type": "module", "exports": { diff --git a/packages/record-adapter-sqlite/CHANGELOG.md b/packages/record-adapter-sqlite/CHANGELOG.md index 2e2c7a0..06e63b6 100644 --- a/packages/record-adapter-sqlite/CHANGELOG.md +++ b/packages/record-adapter-sqlite/CHANGELOG.md @@ -1,5 +1,77 @@ # @haverstack/record-adapter-sqlite +## 0.6.0 + +### Minor Changes + +- [#207](https://github.com/haverstack/core/pull/207) [`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Relationship associations carry a discriminated `target` instead of a bare `recordId` + + A relationship's target now names which identifier space its value belongs to: + `{ scope: 'record', recordId, stackUrl? }` for a Record here or in another stack, + `{ scope: 'entity', entityId }` for a DID, and `{ scope: 'external', ns, id }` for + anything outside the stack — an ATProto post, an ActivityPub actor, an email address, + a URL. Core expresses the reference and never dereferences it, so no protocol is + privileged. + + The `entity` arm closes a gap in the identity model rather than only enabling external + references: group rosters stored member DIDs in a field typed `RecordId`, and the + permission path compared the two as plain strings. A roster entry carrying a `record` + target now confers nothing, even when its value equals a member's DID. + + `RecordFilter.relatedTo` moves with it. It names a label, a target, or both, and each + is a pattern: a bare `label` matches every target under it, and an external target with + no `id` matches a whole namespace. A `record` target with no `stackUrl` matches only + local targets — absence names this stack rather than acting as a wildcard. Label-only + and namespace-wide queries were not expressible before. "Carries any relationship at + all" is deliberately not expressible, in line with `tags` and `hasAttachment`, which + have no match-any form either. + + Reference-creation gating now applies only to a relationship naming a Record in this + stack; the other arms name nothing core can resolve, so there is no access for the + gate to protect. The SQLite association table gains `related_scope`, `related_ns` and + `related_stack` columns, all part of the primary key — so two copies of one record on + two networks are two associations rather than a silent no-op. Existing stack files + predate those columns and must be recreated. + + Over the wire, the relationship filter's scope is implied by which parameters appear + (`relatedTo`/`relatedToStack`, `relatedToEntity`, or `relatedToNs`/`relatedToId`), and + a request mixing scopes is rejected with 400. At least one is always present, so the + filter cannot encode to an empty query string and widen the query it meant to narrow. + + A target names exactly one thing, exactly one way, and both halves are enforced at + runtime rather than only by the type — a target reaching a server in a request body, + or a filter decoded from query parameters, is a plain object the type never saw. A + `scope` outside the three, or an empty string where a target names something, is + rejected with `StackValidationError`; a `relatedTo` naming neither a label nor a target + is rejected with `StackQueryError` instead of matching every Record carrying a + relationship. This stack is named by omitting `stackUrl`, never by sending an empty + one: storage, association identity and the filter all read absent and empty as this + stack, and reference-creation gating now reads them that way too, so both spellings of + a local Record require read access to it. + +### Patch Changes + +- [#207](https://github.com/haverstack/core/pull/207) [`d69e53b`](https://github.com/haverstack/core/commit/d69e53b287394c968b960beafdda27d1123f8386) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Association query filters read through their indexes + + `tags`, `hasAttachment`, `attachmentFileId` and `relatedTo` were correlated + `EXISTS` subqueries, which make SQLite scan every record and probe the association + primary key for each. Phrased as semi-joins, the planner drives from the association + side instead — reading the matching rows through `idx_assoc_kind_label`, + `idx_assoc_kind_file_id`, `idx_file_refs_file_id` or `idx_assoc_related`, then looking + up those records. The cost of an association filter becomes proportional to how many + records match it rather than to how many the stack holds, so the gain grows with + selectivity: the more precisely you ask, the more you save. + + Measured on 20k records with 4k associations, none of the four now needs a full table + scan. `attachmentFileId` benefits most, at 8.8ms to 0.14ms, because SQLite resolves + its two-sided condition as a multi-index OR across both indexes rather than scanning + once and probing twice. + + Results are unchanged; this is the same set of records, found a different way. + +- Updated dependencies [[`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/core@0.14.0 + ## 0.5.1 ### Patch Changes diff --git a/packages/record-adapter-sqlite/package.json b/packages/record-adapter-sqlite/package.json index bbe4ac6..6ac5a11 100644 --- a/packages/record-adapter-sqlite/package.json +++ b/packages/record-adapter-sqlite/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/record-adapter-sqlite", - "version": "0.5.1", + "version": "0.6.0", "description": "Native SQLite (node:sqlite) record adapter for Haverstack — Node's built-in engine, no native compilation", "type": "module", "engines": { diff --git a/packages/wire-types/CHANGELOG.md b/packages/wire-types/CHANGELOG.md index 09c5262..060468b 100644 --- a/packages/wire-types/CHANGELOG.md +++ b/packages/wire-types/CHANGELOG.md @@ -1,5 +1,16 @@ # @haverstack/wire-types +## 0.13.0 + +### Minor Changes + +- Released for a breaking change in `@haverstack/core`. + +### Patch Changes + +- Updated dependencies [[`7db6eaf`](https://github.com/haverstack/core/commit/7db6eaff9dd96eccbc9e96e7a104f3529aa708c9)]: + - @haverstack/core@0.14.0 + ## 0.12.0 ### Minor Changes diff --git a/packages/wire-types/package.json b/packages/wire-types/package.json index 8e9d631..5ab1b8d 100644 --- a/packages/wire-types/package.json +++ b/packages/wire-types/package.json @@ -1,6 +1,6 @@ { "name": "@haverstack/wire-types", - "version": "0.12.0", + "version": "0.13.0", "description": "HTTP wire types and serialization for Haverstack", "type": "module", "exports": {