Releases: EmPlugins/EmPost
Releases · EmPlugins/EmPost
0.4.0
v0.4.0
EmDash compatibility
- Updates the plugin to target EmDash
>=0.9.0. - Switches plugin capability from deprecated
write:contenttocontent:write(required for newer EmDash tooling).
Better ingest error reporting
- Ingest now forwards EmDash structured errors from
ctx.content.create, includingVALIDATION_ERROR,SLUG_CONFLICT,CONFLICT, andNOT_FOUND. - Unknown failures return a stable
CREATE_FAILED.
Docs improvements
- Compatibility notes updated to EmDash 0.9.x+ and includes a brief note on
EMDASH_ENCRYPTION_KEY/ legacyEMDASH_AUTH_SECRETbehavior. - Maintainer docs now clearly state which release steps run on your local Mac vs the DigitalOcean droplet.
- Release process docs now explicitly require SemVer and
vX.Y.Zgit tags (packages in lockstep).
0.2.0
Release v0.2.0
This release publishes the first usable EmPost packages under @emplugins/*: an EmDash plugin for securely ingesting Markdown as draft posts, plus an MCP server so Cursor/Goose agents can submit drafts.
What’s included
-
@emplugins/emdash-plugin-md-draft- Adds EmDash plugin routes:
GET /_emdash/api/plugins/empost-md-draft/healthPOST /_emdash/api/plugins/empost-md-draft/ingest
- Ingest creates draft entries in the
postscollection viactx.content.create(...). - Security controls: HMAC auth, timestamp skew window, nonce replay protection, per-IP/per-key rate limits, payload caps, idempotency via
Idempotency-Key, and conversion time budget. - Admin settings schema for configuring secrets and limits in
/_emdash/admin.
- Adds EmDash plugin routes:
-
@emplugins/mcp-emdash-drafts- Stdio MCP server runnable via
npxfor Cursor/Goose:validate_markdowningest_markdowningest_path
- Signs and POSTs to the ingest endpoint using env vars:
EMDASH_INGEST_URL,EMDASH_HMAC_SECRET,EMDASH_KEY_ID.
- Stdio MCP server runnable via
Important notes
- Ingest request body: JSON
{ "markdown": "..." }(not rawtext/markdown), due to EmDash plugin route request handling. - Plugin format: native (to provide
admin.settingsSchema), so configure it under EmDashplugins: [](notsandboxed: []). - Compatibility: Tested with EmDash
0.7.x.
Docs and examples
- Operator:
docs/operator-runbook.md - Cursor MCP:
docs/cursor-mcp.md - Goose MCP:
docs/goose-mcp.md - Examples:
examples/post-template.md,examples/mcp.cursor.json,examples/mcp.goose.yaml