@aeptus/aexeo-emdash 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +36 -8
  2. package/INSTALL.md +91 -4
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,26 @@ and the project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.1] - 2026-04-28
10
+
11
+ Documentation-only patch. No runtime changes — same `dist/` and
12
+ `wasm/` as `0.1.0`. Bumping the patch so npm consumers can resolve
13
+ to the documented version of INSTALL.md / CHANGELOG.md without
14
+ having to read this repo directly.
15
+
16
+ ### Changed
17
+
18
+ - INSTALL.md now has a structured "Updating" section covering
19
+ routine plugin updates, emdash updates, joint updates, and the
20
+ verification steps for each. Establishes the rule "update one
21
+ thing at a time, never both in the same deploy" so failure
22
+ bisects stay clean.
23
+ - CHANGELOG.md compatibility section calls out the verified emdash
24
+ range explicitly (`0.7.0` and `0.8.0`), names the upstream PR
25
+ (#734) that fixes the sandboxed-mode `content:afterSave` bridge
26
+ bug on `0.8.0`, and sets the convention for future releases to
27
+ record their tested range the same way.
28
+
9
29
  ## [0.1.0] - 2026-04-28
10
30
 
11
31
  First public release.
@@ -34,12 +54,20 @@ First public release.
34
54
 
35
55
  ### Compatibility
36
56
 
37
- - emdash `>= 0.7.0`
38
- - `@astrojs/cloudflare` adapter (Cloudflare Workers target). The
39
- plugin will silently noop on the Node adapter.
40
- - `vite-plugin-wasm` required in the consumer's `astro.config.mjs`
41
- vite plugins for the WASM import to resolve as a precompiled
42
- `WebAssembly.Module`.
57
+ - **emdash:** verified against `0.7.0` and `0.8.0`. Both modes work
58
+ on `0.7.0`; configured mode is recommended. On `0.8.0` the
59
+ sandboxed mode's `content:afterSave` hook also works (upstream
60
+ PR #734 wraps deferred plugin hooks in `after()` so bridge
61
+ bindings stay valid past the response — fixes the
62
+ silent-eval-skip behavior we worked around with the manual
63
+ Refresh button on `0.7.x`).
64
+ - **Adapter:** `@astrojs/cloudflare`. The plugin uses
65
+ Cloudflare-specific APIs and will silently no-op on the Node
66
+ adapter.
67
+ - **Vite plugin:** `vite-plugin-wasm` is required in the consumer's
68
+ `astro.config.mjs` for the WASM import to resolve to a
69
+ precompiled `WebAssembly.Module`. Not optional.
43
70
 
44
- [Unreleased]: https://github.com/schiste/Aexeo/compare/seogeo-plugin-v0.1.0...HEAD
45
- [0.1.0]: https://github.com/schiste/Aexeo/releases/tag/seogeo-plugin-v0.1.0
71
+ [Unreleased]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.1.1...HEAD
72
+ [0.1.1]: https://github.com/schiste/Aexeo/compare/aexeo-emdash-v0.1.0...aexeo-emdash-v0.1.1
73
+ [0.1.0]: https://github.com/schiste/Aexeo/releases/tag/aexeo-emdash-v0.1.0
package/INSTALL.md CHANGED
@@ -117,15 +117,102 @@ compiles into the deployed Worker artifact.
117
117
 
118
118
  ## Updating
119
119
 
120
+ There are two things that can be updated independently — the plugin
121
+ package and emdash itself. **Update one at a time, never both in the
122
+ same deploy.** That way if something breaks, you know which side
123
+ introduced the regression.
124
+
125
+ ### Updating the plugin
126
+
127
+ For a routine patch / minor update within your existing semver range:
128
+
120
129
  ```bash
121
130
  npm update @aeptus/aexeo-emdash
122
- npm run build && <your deploy command>
131
+ npm run build
132
+ # Your usual deploy command
123
133
  ```
124
134
 
135
+ For a major version bump (e.g. from `^0.x` to `^1.x`):
136
+
137
+ 1. Read the [CHANGELOG](./CHANGELOG.md) entry for the new major.
138
+ Look for the `Compatibility` line that names the verified
139
+ emdash version range — confirm it covers your installed emdash.
140
+ 2. Bump the dependency range in `package.json`:
141
+ ```diff
142
+ - "@aeptus/aexeo-emdash": "^0.1.0",
143
+ + "@aeptus/aexeo-emdash": "^0.2.0",
144
+ ```
145
+ 3. `npm install`, build, deploy.
146
+
125
147
  The plugin's WASM is bundled with each version of the package, so
126
- `npm update` brings new rules along automatically. There's no
127
- separate sidecar to keep in sync (configured mode), no token to
128
- rotate, no Setup page to revisit.
148
+ `npm update` / `npm install` brings new rules along automatically.
149
+ There's no separate sidecar to keep in sync (configured mode), no
150
+ token to rotate, no Setup page to revisit.
151
+
152
+ **Verify after a plugin update:**
153
+
154
+ 1. Visit `/admin/plugins/aexeo-seogeo/findings` and click **Refresh**.
155
+ Toast should show non-zero rules sweeping. (A zero count *can*
156
+ be valid for a clean site, but if you previously had findings
157
+ and now have none, suspect the upgrade.)
158
+ 2. Save any document — `/findings` should auto-update for that
159
+ route's findings (the `content:afterSave` hook firing).
160
+
161
+ ### Updating emdash
162
+
163
+ Updating emdash is the more dangerous direction because emdash
164
+ controls the contracts the plugin depends on (PluginContext shape,
165
+ hook signatures, Block Kit schemas, capability strings, etc.).
166
+ Pre-flight before bumping:
167
+
168
+ 1. Look up the plugin version's tested emdash range in our
169
+ [CHANGELOG](./CHANGELOG.md). The latest plugin version's
170
+ `Compatibility` line says e.g. "tested against emdash 0.7.0
171
+ through 0.8.0." If the emdash version you want is **inside that
172
+ range**, the bump is safe. If it's **above the range**, treat it
173
+ as untested.
174
+ 2. If untested, scan the emdash release notes for breaking changes
175
+ in any of these areas (these are what the plugin touches):
176
+ - `PluginContext` shape (kv, http, content, log)
177
+ - Hook signatures (`content:afterSave`, etc.)
178
+ - Block Kit element schemas (banner variants, button styles,
179
+ table column formats)
180
+ - Capability validation strings (`read:content`, `network:fetch`)
181
+ - The `definePlugin` API
182
+ - The `createPlugin` / configured-plugin descriptor contract
183
+ If any of those changed, expect to bump the plugin too.
184
+ 3. Bump emdash:
185
+ ```bash
186
+ npm install emdash@<new-version>
187
+ ```
188
+ 4. Build and run locally first — never deploy directly to
189
+ production.
190
+ 5. Verify the plugin: same two checks as above (Refresh + save).
191
+
192
+ If verification fails: roll emdash back
193
+ (`npm install emdash@<previous-version>`), file an issue against
194
+ this plugin describing the failure, and stay on the prior emdash
195
+ version until a compatible plugin release ships.
196
+
197
+ ### When both need updating together
198
+
199
+ Sometimes a plugin release will require an emdash bump (because we
200
+ adopted a new emdash API). The plugin's CHANGELOG will say so:
201
+ "Requires emdash >= X.Y.0." When that's the case:
202
+
203
+ 1. Update emdash first.
204
+ 2. Verify the existing plugin still works on the new emdash.
205
+ 3. Update the plugin.
206
+ 4. Verify again.
207
+
208
+ Two separate deploys, two separate verification passes. This
209
+ keeps the bisect clean if anything breaks.
210
+
211
+ ### Compatibility quick-reference
212
+
213
+ The current verified pairing is recorded in
214
+ [CHANGELOG.md](./CHANGELOG.md) at the top of each release entry.
215
+ Treat anything outside that range as best-effort.
129
216
 
130
217
  ## Removing
131
218
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeptus/aexeo-emdash",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Aexeo seogeo SEO/GEO content evaluator as an emdash plugin",
5
5
  "license": "MIT",
6
6
  "author": "Aexeo",