openvibers/openvibe.publishing Commits
openvibe-shared v1.5.0, openvibe-contracts v0.32.0 (devDependency)
Changes
@@@ -4,6 +4,12 @@ All notable changes to `openvibe-publishing`. Versions follow [semver](https://sbreaking change to any exported function, table layout, reason code or document shape is a newmajor (a minor while 0.x). A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball.++## Unreleased++++- `openvibe-shared` v1.0.0 -> v1.5.0 (the runtime dependency; `seo` is unchanged, so consumers that++ pin a newer openvibe-shared share one copy once this is tagged). Tests use `openvibe-contracts`++ v0.32.0 (devDependency).++## 0.2.1 — 2026-09-23Security fix (no API change).@@@ -52,7 +52,7 @@ Pin the release tarball, like every OpenVibe package (never a `file:` link or a````better-sqlite3` (≥ 11) is a peer dependency: the product brings its own handle. The only runtime--dependency is `openvibe-shared` (v1.0.0), whose `seo` module is the network's single implementation++dependency is `openvibe-shared` (v1.5.0), whose `seo` module is the network's single implementationof head tags, sitemap XML, robots.txt and JSON-LD escaping; this package adds the publication rules on top.## The indexability gate@@@ -123,7 +123,7 @@ outbox.enqueue(hooks.indexEvent({ document: doc })); // wiki.index_document.upURL, publication state, indexability; public only for public, listable content). Neither sets`event_id`: the OpenVibe.Events outbox assigns it. Enqueue both in the same transaction as theproduct's state change. Tests validate every document and envelope with openvibe-contracts--v0.12.0 and mirror Search's webhook checks.++v0.32.0 and mirror Search's webhook checks.## Exit proof: two products@@@ -153,8 +153,8 @@ fnm exec --using=22.22.1 npm test # every test/*.test.js, temp database## Depends on--- `openvibe-shared` v1.0.0 (`seo`), at runtime.++- `openvibe-shared` v1.5.0 (`seo`), at runtime.- `better-sqlite3` ≥ 11, supplied by the consumer.- Contracts it produces for: `common.entity-ref@1`, `media.media-ref@1`, `events.event-envelope@1`-- and `search.index-document@1` (validated in tests against `openvibe-contracts` v0.12.0, a++ and `search.index-document@1` (validated in tests against `openvibe-contracts` v0.32.0, adevDependency: nothing in `lib/` needs it at runtime).@@@ -34,7 +34,7 @@],"plannedConsumers": [],"exitProof": "examples/two-products + test/two-products.test.js",-- "contracts": "openvibe-contracts v0.12.0: emits search.index-document@1 and events.event-envelope@1 (validated in tests)",++ "contracts": "openvibe-contracts v0.32.0: emits search.index-document@1 and events.event-envelope@1 (validated in tests)","released": true,"updated": "2026-09-23"}@@@ -9,13 +9,13 @@"version": "0.2.1","license": "MIT","dependencies": {-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0"++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0"},"devDependencies": {"ajv": "^8.17.1","ajv-formats": "^3.0.1","better-sqlite3": "^11.10.0",-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0"++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0"},"engines": {"node": ">=20"@@@ -461,9 +461,9 @@}},"node_modules/openvibe-contracts": {-- "version": "0.12.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0",-- "integrity": "sha512-Cf7rxAk0YXCg7G+HcFldH65+URPVeHY2hoOsqpJ/+KmAFyaK8lX6D1OrdyozH52t+rfsQcRlRqkO5ldEVdZRHA==",++ "version": "0.32.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0",++ "integrity": "sha512-ntN58SIG03YDxbhsiIzOM5GRH19jRMHZUYWI3xU2VwovExagF5DdwApLVfezsu84UTJ+V2Jfn+LWDc+Oz8ab+g==","dev": true,"license": "AGPL-3.0-only","dependencies": {@@@ -478,9 +478,9 @@}},"node_modules/openvibe-shared": {-- "version": "1.0.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0",-- "integrity": "sha512-JOSH6LbIVzE9oiVWZmUnjZ+Ab8dRQ/SPk9aqBjbJGXp6kBoJA+tj7x1mp6vCusaxGHp17b2r9gmJQXk1TRL/JA==",++ "version": "1.5.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0",++ "integrity": "sha512-cehnscuYMkJwuCYGcI6wPSswbUn0bhTyGAaD5feNCoO//2e9gyC7cgjkEcIOtM8DQF3yTuUNyXnOwckIeM4fUg==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0"@@@ -35,7 +35,7 @@"homepage": "https://github.com/OpenVibers/OpenVibe.Publishing#readme","license": "MIT","dependencies": {-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0"++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0"},"peerDependencies": {"better-sqlite3": ">=11"@@@ -49,6 +49,6 @@"ajv": "^8.17.1","ajv-formats": "^3.0.1","better-sqlite3": "^11.10.0",-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0"++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0"}}
@@ -4,6 +4,12 @@ All notable changes to `openvibe-publishing`. Versions follow [semver](https://s
@@ -4,6 +4,12 @@ All notable changes to `openvibe-publishing`. Versions follow [semver](https://s
breaking change to any exported function, table layout, reason code or document shape is a new
breaking change to any exported function, table layout, reason code or document shape is a new
major (a minor while 0.x). A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball.
major (a minor while 0.x). A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball.
+## Unreleased
+
+- `openvibe-shared` v1.0.0 -> v1.5.0 (the runtime dependency; `seo` is unchanged, so consumers that
+ pin a newer openvibe-shared share one copy once this is tagged). Tests use `openvibe-contracts`
+ v0.32.0 (devDependency).
+
## 0.2.1 — 2026-09-23
## 0.2.1 — 2026-09-23
Security fix (no API change).
Security fix (no API change).
@@ -52,7 +52,7 @@ Pin the release tarball, like every OpenVibe package (never a `file:` link or a
@@ -52,7 +52,7 @@ Pin the release tarball, like every OpenVibe package (never a `file:` link or a
```
```
`better-sqlite3` (≥ 11) is a peer dependency: the product brings its own handle. The only runtime
`better-sqlite3` (≥ 11) is a peer dependency: the product brings its own handle. The only runtime
-dependency is `openvibe-shared` (v1.0.0), whose `seo` module is the network's single implementation
+dependency is `openvibe-shared` (v1.5.0), whose `seo` module is the network's single implementation
of head tags, sitemap XML, robots.txt and JSON-LD escaping; this package adds the publication rules on top.
of head tags, sitemap XML, robots.txt and JSON-LD escaping; this package adds the publication rules on top.
## The indexability gate
## The indexability gate
@@ -123,7 +123,7 @@ outbox.enqueue(hooks.indexEvent({ document: doc })); // wiki.index_document.up
@@ -123,7 +123,7 @@ outbox.enqueue(hooks.indexEvent({ document: doc })); // wiki.index_document.up
URL, publication state, indexability; public only for public, listable content). Neither sets
URL, publication state, indexability; public only for public, listable content). Neither sets
`event_id`: the OpenVibe.Events outbox assigns it. Enqueue both in the same transaction as the
`event_id`: the OpenVibe.Events outbox assigns it. Enqueue both in the same transaction as the
product's state change. Tests validate every document and envelope with openvibe-contracts
product's state change. Tests validate every document and envelope with openvibe-contracts
-v0.12.0 and mirror Search's webhook checks.
+v0.32.0 and mirror Search's webhook checks.
## Exit proof: two products
## Exit proof: two products
@@ -153,8 +153,8 @@ fnm exec --using=22.22.1 npm test # every test/*.test.js, temp database
@@ -153,8 +153,8 @@ fnm exec --using=22.22.1 npm test # every test/*.test.js, temp database
## Depends on
## Depends on
-- `openvibe-shared` v1.0.0 (`seo`), at runtime.
+- `openvibe-shared` v1.5.0 (`seo`), at runtime.
- `better-sqlite3` ≥ 11, supplied by the consumer.
- `better-sqlite3` ≥ 11, supplied by the consumer.
- Contracts it produces for: `common.entity-ref@1`, `media.media-ref@1`, `events.event-envelope@1`
- Contracts it produces for: `common.entity-ref@1`, `media.media-ref@1`, `events.event-envelope@1`
- and `search.index-document@1` (validated in tests against `openvibe-contracts` v0.12.0, a
+ and `search.index-document@1` (validated in tests against `openvibe-contracts` v0.32.0, a
devDependency: nothing in `lib/` needs it at runtime).
devDependency: nothing in `lib/` needs it at runtime).
@@ -34,7 +34,7 @@
@@ -34,7 +34,7 @@
],
],
"plannedConsumers": [],
"plannedConsumers": [],
"exitProof": "examples/two-products + test/two-products.test.js",
"exitProof": "examples/two-products + test/two-products.test.js",
- "contracts": "openvibe-contracts v0.12.0: emits search.index-document@1 and events.event-envelope@1 (validated in tests)",
+ "contracts": "openvibe-contracts v0.32.0: emits search.index-document@1 and events.event-envelope@1 (validated in tests)",
"released": true,
"released": true,
"updated": "2026-09-23"
"updated": "2026-09-23"
}
}
@@ -9,13 +9,13 @@
@@ -9,13 +9,13 @@
"version": "0.2.1",
"version": "0.2.1",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0"
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0"
},
},
"devDependencies": {
"devDependencies": {
"ajv": "^8.17.1",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"ajv-formats": "^3.0.1",
"better-sqlite3": "^11.10.0",
"better-sqlite3": "^11.10.0",
- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0"
+ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0"
},
},
"engines": {
"engines": {
"node": ">=20"
"node": ">=20"
@@ -461,9 +461,9 @@
@@ -461,9 +461,9 @@
}
}
},
},
"node_modules/openvibe-contracts": {
"node_modules/openvibe-contracts": {
- "version": "0.12.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0",
- "integrity": "sha512-Cf7rxAk0YXCg7G+HcFldH65+URPVeHY2hoOsqpJ/+KmAFyaK8lX6D1OrdyozH52t+rfsQcRlRqkO5ldEVdZRHA==",
+ "version": "0.32.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0",
+ "integrity": "sha512-ntN58SIG03YDxbhsiIzOM5GRH19jRMHZUYWI3xU2VwovExagF5DdwApLVfezsu84UTJ+V2Jfn+LWDc+Oz8ab+g==",
"dev": true,
"dev": true,
"license": "AGPL-3.0-only",
"license": "AGPL-3.0-only",
"dependencies": {
"dependencies": {
@@ -478,9 +478,9 @@
@@ -478,9 +478,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "1.0.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0",
- "integrity": "sha512-JOSH6LbIVzE9oiVWZmUnjZ+Ab8dRQ/SPk9aqBjbJGXp6kBoJA+tj7x1mp6vCusaxGHp17b2r9gmJQXk1TRL/JA==",
+ "version": "1.5.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0",
+ "integrity": "sha512-cehnscuYMkJwuCYGcI6wPSswbUn0bhTyGAaD5feNCoO//2e9gyC7cgjkEcIOtM8DQF3yTuUNyXnOwckIeM4fUg==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0"
"jsonwebtoken": "^9.0.0"
@@ -35,7 +35,7 @@
@@ -35,7 +35,7 @@
"homepage": "https://github.com/OpenVibers/OpenVibe.Publishing#readme",
"homepage": "https://github.com/OpenVibers/OpenVibe.Publishing#readme",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.0.0"
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.5.0"
},
},
"peerDependencies": {
"peerDependencies": {
"better-sqlite3": ">=11"
"better-sqlite3": ">=11"
@@ -49,6 +49,6 @@
@@ -49,6 +49,6 @@
"ajv": "^8.17.1",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"ajv-formats": "^3.0.1",
"better-sqlite3": "^11.10.0",
"better-sqlite3": "^11.10.0",
- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.12.0"
+ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.32.0"
}
}
}
}