diff --git a/CHANGELOG.json b/CHANGELOG.json index ce55e07..0158328 100644 --- a/CHANGELOG.json +++ b/CHANGELOG.json @@ -6,6 +6,37 @@ "commitConvention": "conventional", "maintainers": ["grokify", "johncwang@gmail.com"], "releases": [ + { + "version": "v0.6.1", + "date": "2026-11-02", + "highlights": [ + { + "description": "`@plexusone/speech` 0.1.1: the first build with everything v0.6.0 describes; 0.1.0 on npm was built from an earlier commit", + "commit": "d56049f" + } + ], + "fixed": [ + { + "description": "`@plexusone/speech` 0.1.0 was published from a `dist/` built before v0.6.0's last changes. 0.1.1 has them: words without the punctuation around them and no dashes reported as words, dictation that does not repeat Android's partial results, whole words such as \"don't\" in Safari, and one copy of the speaking code shared by the main and React entry points", + "commit": "872a64c" + } + ], + "infrastructure": [ + { + "description": "Every package rebuilds in `prepublishOnly`, so `pnpm publish` cannot upload a `dist/` from an earlier commit", + "commit": "d56049f" + } + ], + "documentation": [ + { + "description": "The release guide notes that publishing rebuilds each package", + "commit": "e605282" + }, + { + "description": "v0.6.1 release notes" + } + ] + }, { "version": "v0.6.0", "date": "2026-11-02", diff --git a/CHANGELOG.md b/CHANGELOG.md index 70ffd26..03a6c62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,25 @@ and this changelog is generated by [Structured Changelog](https://github.com/gro ## [Unreleased] +## [v0.6.1] - 2026-11-02 + +### Highlights + +- `@plexusone/speech` 0.1.1: the first build with everything v0.6.0 describes; 0.1.0 on npm was built from an earlier commit + +### Fixed + +- `@plexusone/speech` 0.1.0 was published from a `dist/` built before v0.6.0's last changes. 0.1.1 has them: words without the punctuation around them and no dashes reported as words, dictation that does not repeat Android's partial results, whole words such as "don't" in Safari, and one copy of the speaking code shared by the main and React entry points ([`872a64c`](https://github.com/plexusone/systemforge-web/commit/872a64c)) + +### Documentation + +- The release guide notes that publishing rebuilds each package ([`e605282`](https://github.com/plexusone/systemforge-web/commit/e605282)) +- v0.6.1 release notes + +### Infrastructure + +- Every package rebuilds in `prepublishOnly`, so `pnpm publish` cannot upload a `dist/` from an earlier commit ([`d56049f`](https://github.com/plexusone/systemforge-web/commit/d56049f)) + ## [v0.6.0] - 2026-11-02 ### Highlights @@ -302,7 +321,8 @@ and this changelog is generated by [Structured Changelog](https://github.com/gro - Shared pnpm workflows from grokify/.github ([`bb07c1d`](https://github.com/plexusone/systemforge-web/commit/bb07c1d)) -[unreleased]: https://github.com/plexusone/systemforge-web/compare/v0.6.0...HEAD +[unreleased]: https://github.com/plexusone/systemforge-web/compare/v0.6.1...HEAD +[v0.6.1]: https://github.com/plexusone/systemforge-web/compare/v0.6.0...v0.6.1 [v0.6.0]: https://github.com/plexusone/systemforge-web/compare/v0.5.1...v0.6.0 [v0.5.1]: https://github.com/plexusone/systemforge-web/compare/v0.5.0...v0.5.1 [v0.5.0]: https://github.com/plexusone/systemforge-web/compare/v0.4.0...v0.5.0 diff --git a/docs/changelog.md b/docs/changelog.md index 70ffd26..03a6c62 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -9,6 +9,25 @@ and this changelog is generated by [Structured Changelog](https://github.com/gro ## [Unreleased] +## [v0.6.1] - 2026-11-02 + +### Highlights + +- `@plexusone/speech` 0.1.1: the first build with everything v0.6.0 describes; 0.1.0 on npm was built from an earlier commit + +### Fixed + +- `@plexusone/speech` 0.1.0 was published from a `dist/` built before v0.6.0's last changes. 0.1.1 has them: words without the punctuation around them and no dashes reported as words, dictation that does not repeat Android's partial results, whole words such as "don't" in Safari, and one copy of the speaking code shared by the main and React entry points ([`872a64c`](https://github.com/plexusone/systemforge-web/commit/872a64c)) + +### Documentation + +- The release guide notes that publishing rebuilds each package ([`e605282`](https://github.com/plexusone/systemforge-web/commit/e605282)) +- v0.6.1 release notes + +### Infrastructure + +- Every package rebuilds in `prepublishOnly`, so `pnpm publish` cannot upload a `dist/` from an earlier commit ([`d56049f`](https://github.com/plexusone/systemforge-web/commit/d56049f)) + ## [v0.6.0] - 2026-11-02 ### Highlights @@ -302,7 +321,8 @@ and this changelog is generated by [Structured Changelog](https://github.com/gro - Shared pnpm workflows from grokify/.github ([`bb07c1d`](https://github.com/plexusone/systemforge-web/commit/bb07c1d)) -[unreleased]: https://github.com/plexusone/systemforge-web/compare/v0.6.0...HEAD +[unreleased]: https://github.com/plexusone/systemforge-web/compare/v0.6.1...HEAD +[v0.6.1]: https://github.com/plexusone/systemforge-web/compare/v0.6.0...v0.6.1 [v0.6.0]: https://github.com/plexusone/systemforge-web/compare/v0.5.1...v0.6.0 [v0.5.1]: https://github.com/plexusone/systemforge-web/compare/v0.5.0...v0.5.1 [v0.5.0]: https://github.com/plexusone/systemforge-web/compare/v0.4.0...v0.5.0 diff --git a/docs/guides/releasing.md b/docs/guides/releasing.md index 6afb23c..10a83e9 100644 --- a/docs/guides/releasing.md +++ b/docs/guides/releasing.md @@ -68,6 +68,13 @@ pnpm install --frozen-lockfile pnpm build ``` +Each package's `prepublishOnly` script builds it again as it is published, +so `pnpm publish` never uploads a `dist/` left from an earlier commit. A +build from before a `git pull` once shipped `@plexusone/speech` 0.1.0 +without its release's fixes. Run the full `pnpm build` first all the same: +a package's type declarations are built against the other packages' +`dist/`. + Sign in right before publishing: tokens from `npm login` are short-lived, and an expired one makes `publish` fail with `E404` on `PUT`. If `npm whoami` fails, run `npm login` again. diff --git a/docs/packages/speech.md b/docs/packages/speech.md index 8cce159..f4f0097 100644 --- a/docs/packages/speech.md +++ b/docs/packages/speech.md @@ -210,7 +210,7 @@ Speech and listening stop when the component unmounts. The promises from `window.PlexusSpeech` with the same functions as the main entry point: ```html - + diff --git a/docs/releases/v0.6.1.md b/docs/releases/v0.6.1.md new file mode 100644 index 0000000..485875a --- /dev/null +++ b/docs/releases/v0.6.1.md @@ -0,0 +1,36 @@ +# v0.6.1 Release Notes + +**Release Date:** 2026-11-02 + +`@plexusone/speech` 0.1.1, the build v0.6.0 describes. The other packages +are unchanged apart from how they are published. + +## Highlights + +- **`@plexusone/speech` 0.1.1 has everything in v0.6.0.** 0.1.0 on npm was + published from a build of an earlier commit and is now deprecated. It + works, but it lacks v0.6.0's last changes: + - words are marked with the punctuation around them, and a dash can be + reported as a word; + - dictation on Chrome for Android repeats each partial result; + - in Safari, a word with punctuation inside it, such as "don't" or + "3.5", is cut short; + - the main and React entry points each have their own copy of the + speaking code, so `stopSpeaking()` cannot stop speech started by + `useSpeech`. + +- **Publishing rebuilds each package.** Every package's `prepublishOnly` + script runs its build, so `pnpm publish` uploads a build of the commit + being published. + +## Installation + +```bash +pnpm add @plexusone/speech@^0.1.1 +``` + +## Upgrading + +Move from 0.1.0 to 0.1.1; nothing else changes. The standalone build's +CDN address names the version, so a page that loads +`@plexusone/speech@0.1.0/dist/speech.global.js` should load `@0.1.1`. diff --git a/mkdocs.yml b/mkdocs.yml index 762b92b..e8a05c4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -89,6 +89,7 @@ nav: - Tasks: specs/initiatives/invention/productgraph/TASKS.md - Releases: - Changelog: changelog.md + - v0.6.1: releases/v0.6.1.md - v0.6.0: releases/v0.6.0.md - v0.5.1: releases/v0.5.1.md - v0.5.0: releases/v0.5.0.md diff --git a/packages/api-client/package.json b/packages/api-client/package.json index ed9db81..1687f21 100644 --- a/packages/api-client/package.json +++ b/packages/api-client/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/auth/package.json b/packages/auth/package.json index e0ba439..6109154 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "typecheck": "tsc --noEmit", "lint": "eslint src/", diff --git a/packages/chat/package.json b/packages/chat/package.json index eeb0d6c..1ecceae 100644 --- a/packages/chat/package.json +++ b/packages/chat/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/console/package.json b/packages/console/package.json index 2224a7d..9be9452 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -22,6 +22,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/design-tokens/package.json b/packages/design-tokens/package.json index 6b6e57d..e33fd9e 100644 --- a/packages/design-tokens/package.json +++ b/packages/design-tokens/package.json @@ -22,6 +22,7 @@ }, "scripts": { "build": "tsup && pnpm run build:css", + "prepublishOnly": "pnpm run build", "build:css": "node scripts/generate-css.js", "dev": "tsup --watch", "lint": "eslint src/", diff --git a/packages/host/package.json b/packages/host/package.json index c58ebce..f8e6800 100644 --- a/packages/host/package.json +++ b/packages/host/package.json @@ -27,6 +27,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/invites/package.json b/packages/invites/package.json index 421939b..cfc78cf 100644 --- a/packages/invites/package.json +++ b/packages/invites/package.json @@ -22,6 +22,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/pages/package.json b/packages/pages/package.json index 3426e04..b9b8b8e 100644 --- a/packages/pages/package.json +++ b/packages/pages/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/shell/package.json b/packages/shell/package.json index 0a0e5ac..49ae50e 100644 --- a/packages/shell/package.json +++ b/packages/shell/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/speech/package.json b/packages/speech/package.json index 0942923..e95b050 100644 --- a/packages/speech/package.json +++ b/packages/speech/package.json @@ -1,6 +1,6 @@ { "name": "@plexusone/speech", - "version": "0.1.0", + "version": "0.1.1", "description": "Browser text-to-speech and speech-to-text, with React hooks and a standalone build", "homepage": "https://plexusone.github.io/systemforge-web/packages/speech/", "main": "./dist/index.js", @@ -28,6 +28,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index 9ba8649..14c0a52 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "lint": "eslint src/", "typecheck": "tsc --noEmit" diff --git a/packages/tenant/package.json b/packages/tenant/package.json index c12eb47..1a8ed42 100644 --- a/packages/tenant/package.json +++ b/packages/tenant/package.json @@ -21,6 +21,7 @@ }, "scripts": { "build": "tsup", + "prepublishOnly": "pnpm run build", "dev": "tsup --watch", "typecheck": "tsc --noEmit", "lint": "eslint src/", diff --git a/packages/ui/package.json b/packages/ui/package.json index b3cb0a2..48a0309 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -38,6 +38,7 @@ }, "scripts": { "build": "tsup && pnpm run build:css", + "prepublishOnly": "pnpm run build", "build:css": "node scripts/build-css.js", "dev": "tsup --watch", "lint": "eslint src/",