Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .changeset/api-adapter-encode-path-segments.md

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/app-install-requests.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/app-install-review-fixes.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/app-installs.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/open-content-depth-cap.md

This file was deleted.

14 changes: 14 additions & 0 deletions packages/adapter-api/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# @haverstack/adapter-api

## 0.40.0

### Minor Changes

- [#401](https://github.com/haverstack/core/pull/401) [`3021327`](https://github.com/haverstack/core/commit/30213279d013a0e6e6eb8999534adcb446ce2630) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Percent-encode record IDs, versions and fileIds as single URL path segments, so an ID holding `/`, `?` or `#` cannot address a different endpoint. An ID of `.` or `..` is refused with `StackBadRequestError` before any request is sent.

- [#400](https://github.com/haverstack/core/pull/400) [`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760) Thanks [@cuibonobo](https://github.com/cuibonobo)! - `POST /installs` lets an app present its manifest for the owner to approve, as the key its session authenticated with: `202 { status: 'pending' }` until approved, `200 { status: 'installed', install }` once applying it would change nothing. Discovery advertises it with `installs: { requests: true }`. `APIAdapter.requestInstall()` sends it, `parseInstallBody()` and `isPlanEmpty()` serve it, and `installApp()` gives each linked key read on its own `_install` record. A manifest may define only types in its own namespace (the family's namespace is the `appId`) and commons types, which it defines without claiming.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]
- @haverstack/[email protected]

## 0.39.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/adapter-api/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/adapter-api",
"version": "0.39.0",
"version": "0.40.0",
"description": "Remote server adapter for Haverstack",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/adapter-conformance/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/adapter-conformance

## 0.10.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.9.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/adapter-conformance/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/adapter-conformance",
"version": "0.9.0",
"version": "0.10.0",
"description": "Runnable conformance suite for StackRecordAdapter/StackBlobAdapter implementers — the invariants docs/spec/adapters.md documents, as tests you point at your own adapter",
"type": "module",
"exports": {
Expand Down
13 changes: 13 additions & 0 deletions packages/adapter-local/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# @haverstack/adapter-local

## 0.40.0

### Minor Changes

- Released for a breaking change in `@haverstack/blob-adapter-disk`, `@haverstack/core`, `@haverstack/record-adapter-sqlite`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]
- @haverstack/[email protected]
- @haverstack/[email protected]

## 0.39.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/adapter-local/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/adapter-local",
"version": "0.39.0",
"version": "0.40.0",
"description": "Local (SQLite + disk) stack adapter for Haverstack",
"type": "module",
"engines": {
Expand Down
11 changes: 11 additions & 0 deletions packages/blob-adapter-disk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/blob-adapter-disk

## 0.39.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.38.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/blob-adapter-disk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/blob-adapter-disk",
"version": "0.38.0",
"version": "0.39.0",
"description": "Disk blob adapter for Haverstack",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/blob-adapter-s3/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/blob-adapter-s3

## 0.27.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.26.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/blob-adapter-s3/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/blob-adapter-s3",
"version": "0.26.0",
"version": "0.27.0",
"description": "S3 (and S3-compatible) blob adapter for Haverstack",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/commons/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/commons

## 0.36.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.35.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/commons/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/commons",
"version": "0.35.0",
"version": "0.36.0",
"description": "Canonical Schema Commons type definitions for Haverstack — register commons types exactly as written",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/conformance-fixtures/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/conformance-fixtures

## 0.35.0

### Minor Changes

- [#400](https://github.com/haverstack/core/pull/400) [`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760) Thanks [@cuibonobo](https://github.com/cuibonobo)! - `POST /installs` lets an app present its manifest for the owner to approve, as the key its session authenticated with: `202 { status: 'pending' }` until approved, `200 { status: 'installed', install }` once applying it would change nothing. Discovery advertises it with `installs: { requests: true }`. `APIAdapter.requestInstall()` sends it, `parseInstallBody()` and `isPlanEmpty()` serve it, and `installApp()` gives each linked key read on its own `_install` record. A manifest may define only types in its own namespace (the family's namespace is the `appId`) and commons types, which it defines without claiming.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760)]:
- @haverstack/[email protected]

## 0.34.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/conformance-fixtures/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/conformance-fixtures",
"version": "0.34.0",
"version": "0.35.0",
"description": "Request/response fixtures for the Stack API wire protocol, shared between adapter-api and server implementations",
"type": "module",
"exports": {
Expand Down
12 changes: 12 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# @haverstack/core

## 0.41.0

### Minor Changes

- [#400](https://github.com/haverstack/core/pull/400) [`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760) Thanks [@cuibonobo](https://github.com/cuibonobo)! - `POST /installs` lets an app present its manifest for the owner to approve, as the key its session authenticated with: `202 { status: 'pending' }` until approved, `200 { status: 'installed', install }` once applying it would change nothing. Discovery advertises it with `installs: { requests: true }`. `APIAdapter.requestInstall()` sends it, `parseInstallBody()` and `isPlanEmpty()` serve it, and `installApp()` gives each linked key read on its own `_install` record. A manifest may define only types in its own namespace (the family's namespace is the `appId`) and commons types, which it defines without claiming.

- [#400](https://github.com/haverstack/core/pull/400) [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062) Thanks [@cuibonobo](https://github.com/cuibonobo)! - An installed app's `commitMigration()` is held to the file-reference gate. Requests compare as sets of actions, and a plan that changes only `name` or `version` is no longer empty.

- [#400](https://github.com/haverstack/core/pull/400) [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8) Thanks [@cuibonobo](https://github.com/cuibonobo)! - App installs: `Stack.planInstall()`, `installApp()` and `uninstallApp()` apply an app's manifest (its types and the grants it requests) as one reviewable act, stored as a new `_install@1` system type that cannot be granted and only the owner acting alone may write. An installed app may commit migrations within the type families its install claims, to versions the owner approved, when it holds `update-any` on them. `migrateAll()` takes `{ sweep: 'listed' }` for a non-owner and returns `{ migrated, skipped }`.

- [#401](https://github.com/haverstack/core/pull/401) [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3) Thanks [@cuibonobo](https://github.com/cuibonobo)! - Cap content nesting at 32 levels inside `open` containers too, the same cap declared fields meet. A deeper value is a `StackValidationError` at its path rather than a stack overflow.

## 0.40.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/core",
"version": "0.40.0",
"version": "0.41.0",
"description": "Core library for Haverstack — portable personal data stack",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/record-adapter-do-sqlite/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/record-adapter-do-sqlite

## 0.26.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.25.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/record-adapter-do-sqlite/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/record-adapter-do-sqlite",
"version": "0.25.0",
"version": "0.26.0",
"description": "Cloudflare Durable Objects (SQLite storage) StackRecordAdapter for Haverstack — Workers, FTS5, single-writer by construction",
"type": "module",
"exports": {
Expand Down
11 changes: 11 additions & 0 deletions packages/record-adapter-sqlite/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/record-adapter-sqlite

## 0.33.0

### Minor Changes

- Released for a breaking change in `@haverstack/core`.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.32.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/record-adapter-sqlite/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/record-adapter-sqlite",
"version": "0.32.0",
"version": "0.33.0",
"description": "Native SQLite (node:sqlite) record adapter for Haverstack — Node's built-in engine, no native compilation",
"type": "module",
"engines": {
Expand Down
11 changes: 11 additions & 0 deletions packages/wire-types/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @haverstack/wire-types

## 0.40.0

### Minor Changes

- [#400](https://github.com/haverstack/core/pull/400) [`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760) Thanks [@cuibonobo](https://github.com/cuibonobo)! - `POST /installs` lets an app present its manifest for the owner to approve, as the key its session authenticated with: `202 { status: 'pending' }` until approved, `200 { status: 'installed', install }` once applying it would change nothing. Discovery advertises it with `installs: { requests: true }`. `APIAdapter.requestInstall()` sends it, `parseInstallBody()` and `isPlanEmpty()` serve it, and `installApp()` gives each linked key read on its own `_install` record. A manifest may define only types in its own namespace (the family's namespace is the `appId`) and commons types, which it defines without claiming.

### Patch Changes

- Updated dependencies [[`6782ac9`](https://github.com/haverstack/core/commit/6782ac9a5c4e9211d979011f6a5eb46068768760), [`de4e587`](https://github.com/haverstack/core/commit/de4e587155f36cf077f47311b2677905211ee062), [`8049dd0`](https://github.com/haverstack/core/commit/8049dd0fda562d9e491e375613e2378fc93a63a8), [`ef500b8`](https://github.com/haverstack/core/commit/ef500b8cc0ffde261ae1294ac54f8a64bd9428d3)]:
- @haverstack/[email protected]

## 0.39.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/wire-types/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@haverstack/wire-types",
"version": "0.39.0",
"version": "0.40.0",
"description": "HTTP wire types and serialization for Haverstack",
"type": "module",
"exports": {
Expand Down
Loading