Skip to content

chore: version packages - #469

Open
cuibonobo wants to merge 1 commit into
mainfrom
changeset-release/main
Open

cuibonobo wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@cuibonobo

@cuibonobo cuibonobo commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@haverstack/adapter-api@0.43.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.

    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.
  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.

    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.

Patch Changes

  • Updated dependencies [e0475d2, b02e69c, 7f3d108]:
    • @haverstack/core@0.44.0
    • @haverstack/wire-types@0.43.0

@haverstack/adapter-conformance@0.13.0

Minor Changes

  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.
    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.

Patch Changes

@haverstack/adapter-local@0.43.0

Minor Changes

  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.
    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.

Patch Changes

  • Updated dependencies [e0475d2, b02e69c, 7f3d108]:
    • @haverstack/blob-adapter-disk@0.42.0
    • @haverstack/core@0.44.0
    • @haverstack/record-adapter-sqlite@0.36.0

@haverstack/blob-adapter-disk@0.42.0

Minor Changes

  • Released for a breaking change in @haverstack/core.

Patch Changes

@haverstack/blob-adapter-s3@0.30.0

Minor Changes

  • Released for a breaking change in @haverstack/core.

Patch Changes

@haverstack/commons@0.39.0

Minor Changes

  • Released for a breaking change in @haverstack/core.

Patch Changes

@haverstack/conformance-fixtures@0.38.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.
    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.

Patch Changes

  • Updated dependencies [e0475d2]:
    • @haverstack/wire-types@0.43.0

@haverstack/core@0.44.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.

    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.
  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.

    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.
  • #468 7f3d108 Thanks @cuibonobo! - Authority is gated the same way whenever it is written.

    • Resharing needs read on the Record: editAccess(), setAccess() and setUnlisted() refuse a creator who cannot read their Record, such as one removed from the roster that conveyed it, or a drop-box contributor.
    • permissions and unlisted at create() pass the same gate, asked of the Record the create would make.
    • A roster entry no longer counts on the principal's side of a delegated request, so a delegated app neither manages a _group nor creates one, even with its own DID on the roster. The owner's own software acting for a subject still can.

@haverstack/record-adapter-do-sqlite@0.29.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.

    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.
  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.

    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.

Patch Changes

@haverstack/record-adapter-sqlite@0.36.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.

    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.
  • #470 b02e69c Thanks @cuibonobo! - A stack can be copied whole between adapters, authorship and history included.

    • copyStack(from, create) in @haverstack/core/adapter copies every Record, soft-deleted and unlisted ones too, with its versions and journal, plus every Type and every blob, into a new store create makes from the source's _config record and its history, and returns it open. _config travels as every Record does. Both ends must list their blobs, and the target must hold nothing yet, so APIAdapter cannot yet be copied from. Copying into a LocalAdapter store is an export; copying out of one is an import.
    • It writes through the new optional StackRecordAdapter.importRecord(record, { versions, journal }), which every local adapter implements and APIAdapter does not.
    • StackIdentity, CreateStore, StoreSeed, newStoreSeed() and identityOf() are exported beside it. Every adapter that creates stores takes a seed in place of ownerEntityId and timezone: the _config record, with its history, a new store is created holding. A seed only creates: storage already holding a store refuses it, and NativeSQLiteRecordAdapter/LocalAdapter take no create beside one. MemoryAdapter now holds a real _config record.
    • Every SQLite store names its layout in a one-row format table, and opening one in another layout throws the new FormatMismatchError (from @haverstack/core/adapter). A new store is written whole, tables included, in one transaction — a table of the same name already in the database fails the create — and a failed NativeSQLiteRecordAdapter.open() removes a file it created.
    • OwnerMismatchError reads <where> is owned by "X", not "Y", and copyStack() throws it too.
    • saveVersion() is removed from the adapter contract: importRecord() is the one standalone history write.
    • @haverstack/adapter-conformance checks importRecord() in the record suite and adds runCopyConformance(), which holds a full adapter to both halves of a copy.

Patch Changes

@haverstack/wire-types@0.43.0

Minor Changes

  • #470 e0475d2 Thanks @cuibonobo! - The stack owner has one name wherever a field can only hold the owner: ownerEntityId.
    • _config's content is { ownerEntityId, timezone }, and ConfigContent.entityId is ConfigContent.ownerEntityId.
    • The discovery response (GET /.well-known/stack) carries ownerEntityId in place of entityId, in DiscoveryResponse and the discovery fixtures. The _config ownership-conflict fixture is error-conflict-config-owner-change.
    • Fields that may hold any entity, such as a relationship target or a grantee, keep entityId.

Patch Changes

@cuibonobo
cuibonobo force-pushed the changeset-release/main branch from c783540 to 87b347f Compare October 28, 2026 22:24
@cuibonobo
cuibonobo force-pushed the changeset-release/main branch from 87b347f to dd15861 Compare October 29, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant