diff --git a/CHANGELOG.md b/CHANGELOG.md index 172050e9..b9355e0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Changelog -## Unreleased +## 0.22.0 + +Migration: in `.mdoc` revision files, rename `operation=` to `edit=` and +`operations=` to `edits=`. The old spellings now fail with `REMOVED_EDIT_ATTRIBUTE`. - **Breaking:** docx-markdoc no longer accepts the `operation=` edit-name attribute or the `operations=` attribute on `change-set`, deprecated in diff --git a/gemini-extension.json b/gemini-extension.json index 7dff052f..99223960 100644 --- a/gemini-extension.json +++ b/gemini-extension.json @@ -1,6 +1,6 @@ { "name": "safe-docx", - "version": "0.21.3", + "version": "0.22.0", "description": "AI-powered DOCX and ODT editing with tracked changes, redlining, and formatting preservation", "contextFileName": "GEMINI.md", "entrypoint": "GEMINI.md", diff --git a/package-lock.json b/package-lock.json index 6f1a97d0..0ce8577c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "safe-docx-suite", - "version": "0.21.3", + "version": "0.22.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "safe-docx-suite", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "workspaces": [ "packages/*" @@ -9152,7 +9152,7 @@ }, "packages/allure-test-factory": { "name": "@usejunior/allure-test-factory", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "engines": { "node": ">=20" @@ -9173,10 +9173,10 @@ }, "packages/docx-compare": { "name": "@usejunior/docx-compare", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "jszip": "^3.10.1" }, @@ -9200,7 +9200,7 @@ }, "packages/docx-core": { "name": "@usejunior/docx-core", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "@xmldom/xmldom": "^0.9.12", @@ -9211,7 +9211,7 @@ }, "devDependencies": { "@types/node": "^22.10.0", - "@usejunior/docx-compare": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", "@vitest/coverage-v8": "^4.1.8", "@vitest/runner": "^4.1.8", "allure-vitest": "^3.9.0", @@ -9226,12 +9226,12 @@ }, "packages/docx-markdoc": { "name": "@usejunior/docx-markdoc", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "@markdoc/markdoc": "^0.5.0", - "@usejunior/docx-compare": "^0.21.3", - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", + "@usejunior/docx-core": "^0.22.0", "jszip": "^3.10.1" }, "bin": { @@ -9248,13 +9248,13 @@ }, "packages/docx-mcp": { "name": "@usejunior/docx-mcp", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.0.0", - "@usejunior/docx-compare": "^0.21.3", - "@usejunior/docx-core": "^0.21.3", - "@usejunior/odf-core": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", + "@usejunior/docx-core": "^0.22.0", + "@usejunior/odf-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "zod": "^4.3.6" }, @@ -9275,7 +9275,7 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@usejunior/google-docs-core": "^0.21.3" + "@usejunior/google-docs-core": "^0.22.0" }, "peerDependenciesMeta": { "@usejunior/google-docs-core": { @@ -9285,7 +9285,7 @@ }, "packages/docx-release-verifier": { "name": "@usejunior/docx-release-verifier", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "@xmldom/xmldom": "^0.9.12", @@ -9305,7 +9305,7 @@ }, "packages/docx-render-verifier": { "name": "@usejunior/docx-render-verifier", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "@xmldom/xmldom": "^0.9.12", @@ -9322,7 +9322,7 @@ }, "packages/google-docs-core": { "name": "@usejunior/google-docs-core", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { "google-auth-library": "^10.9.1" @@ -9338,10 +9338,10 @@ }, "packages/odf-core": { "name": "@usejunior/odf-core", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "jszip": "^3.10.1" }, @@ -9356,10 +9356,10 @@ }, "packages/safe-docx": { "name": "@usejunior/safe-docx", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { - "@usejunior/docx-mcp": "^0.21.3" + "@usejunior/docx-mcp": "^0.22.0" }, "bin": { "safe-docx": "bin/safe-docx.js", @@ -9371,10 +9371,10 @@ }, "packages/safe-docx-mcpb": { "name": "@usejunior/safedocx-mcpb", - "version": "0.21.3", + "version": "0.22.0", "license": "Apache-2.0", "dependencies": { - "@usejunior/safe-docx": "^0.21.3" + "@usejunior/safe-docx": "^0.22.0" }, "devDependencies": { "@types/node": "^22.10.0", diff --git a/package.json b/package.json index d9a5a328..5e1b9602 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "safe-docx-suite", - "version": "0.21.3", + "version": "0.22.0", "private": true, "description": "Monorepo for Safe DOCX packages", "repository": { diff --git a/packages/allure-test-factory/package.json b/packages/allure-test-factory/package.json index 784614e9..c6cd7073 100644 --- a/packages/allure-test-factory/package.json +++ b/packages/allure-test-factory/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/allure-test-factory", - "version": "0.21.3", + "version": "0.22.0", "description": "Shared Allure test helpers for vitest — BDD context, OpenSpec auto-inference, Prism.js highlighting", "type": "module", "exports": { diff --git a/packages/docx-compare/package.json b/packages/docx-compare/package.json index ab163367..da330ab5 100644 --- a/packages/docx-compare/package.json +++ b/packages/docx-compare/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-compare", - "version": "0.21.3", + "version": "0.22.0", "description": "DOCX comparison and redline generation for Safe DOCX.", "type": "module", "main": "dist/index.js", @@ -20,7 +20,7 @@ "cli": "node dist/cli/index.js" }, "dependencies": { - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "jszip": "^3.10.1" }, diff --git a/packages/docx-core/package.json b/packages/docx-core/package.json index 07f6c547..bec99e26 100644 --- a/packages/docx-core/package.json +++ b/packages/docx-core/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-core", - "version": "0.21.3", + "version": "0.22.0", "description": "OOXML (.docx) core library: primitives, document generation, and track changes", "type": "module", "main": "dist/index.js", @@ -25,7 +25,7 @@ }, "devDependencies": { "@types/node": "^22.10.0", - "@usejunior/docx-compare": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", "@vitest/coverage-v8": "^4.1.8", "@vitest/runner": "^4.1.8", "allure-vitest": "^3.9.0", diff --git a/packages/docx-markdoc/package.json b/packages/docx-markdoc/package.json index 2fbf592a..82f01ddd 100644 --- a/packages/docx-markdoc/package.json +++ b/packages/docx-markdoc/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-markdoc", - "version": "0.21.3", + "version": "0.22.0", "description": "Hash-pinned Markdoc authoring and replay for brownfield DOCX documents.", "type": "module", "main": "dist/index.js", @@ -17,8 +17,8 @@ }, "dependencies": { "@markdoc/markdoc": "^0.5.0", - "@usejunior/docx-compare": "^0.21.3", - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", + "@usejunior/docx-core": "^0.22.0", "jszip": "^3.10.1" }, "devDependencies": { diff --git a/packages/docx-mcp/package.json b/packages/docx-mcp/package.json index 6ea14b42..efaf0dce 100644 --- a/packages/docx-mcp/package.json +++ b/packages/docx-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-mcp", - "version": "0.21.3", + "version": "0.22.0", "description": "MCP server for reading, editing, and comparing Word (.docx) and OpenDocument (.odt) files with tracked changes. For Claude, Gemini CLI, Cursor, and any MCP client. Apache-2.0 licensed.", "type": "module", "main": "dist/index.js", @@ -27,9 +27,9 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.0.0", - "@usejunior/docx-compare": "^0.21.3", - "@usejunior/docx-core": "^0.21.3", - "@usejunior/odf-core": "^0.21.3", + "@usejunior/docx-compare": "^0.22.0", + "@usejunior/docx-core": "^0.22.0", + "@usejunior/odf-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "zod": "^4.3.6" }, @@ -57,7 +57,7 @@ "NOTICE" ], "peerDependencies": { - "@usejunior/google-docs-core": "^0.21.3" + "@usejunior/google-docs-core": "^0.22.0" }, "peerDependenciesMeta": { "@usejunior/google-docs-core": { diff --git a/packages/docx-release-verifier/package.json b/packages/docx-release-verifier/package.json index fc5d1a79..699be25b 100644 --- a/packages/docx-release-verifier/package.json +++ b/packages/docx-release-verifier/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-release-verifier", - "version": "0.21.3", + "version": "0.22.0", "description": "Independent finished-artifact verification for DOCX releases.", "type": "module", "main": "dist/index.js", diff --git a/packages/docx-render-verifier/package.json b/packages/docx-render-verifier/package.json index 8f8c5d1d..27a279e9 100644 --- a/packages/docx-render-verifier/package.json +++ b/packages/docx-render-verifier/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/docx-render-verifier", - "version": "0.21.3", + "version": "0.22.0", "description": "Optional independent LibreOffice and PDF renderer checks for finished tracked DOCX artifacts.", "type": "module", "main": "dist/index.js", diff --git a/packages/google-docs-core/package.json b/packages/google-docs-core/package.json index a5f0ac5d..9a51cfd4 100644 --- a/packages/google-docs-core/package.json +++ b/packages/google-docs-core/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/google-docs-core", - "version": "0.21.3", + "version": "0.22.0", "description": "Google Docs core library: read, write, and anchor management via Google Docs API", "type": "module", "main": "dist/index.js", diff --git a/packages/odf-core/package.json b/packages/odf-core/package.json index 377a37fb..036827cf 100644 --- a/packages/odf-core/package.json +++ b/packages/odf-core/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/odf-core", - "version": "0.21.3", + "version": "0.22.0", "description": "OpenDocument Format (.odt) core library: archive packaging, document view, surgical text replacement, and tracked-changes comparison", "type": "module", "main": "dist/index.js", @@ -14,7 +14,7 @@ "lint": "tsc --noEmit" }, "dependencies": { - "@usejunior/docx-core": "^0.21.3", + "@usejunior/docx-core": "^0.22.0", "@xmldom/xmldom": "^0.9.12", "jszip": "^3.10.1" }, diff --git a/packages/safe-docx-mcpb/manifest.json b/packages/safe-docx-mcpb/manifest.json index 3cede0d6..e74559a3 100644 --- a/packages/safe-docx-mcpb/manifest.json +++ b/packages/safe-docx-mcpb/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "0.3", "name": "safe-docx", "display_name": "Safe Docx", - "version": "0.21.3", + "version": "0.22.0", "description": "AI-native Word (.docx) and OpenDocument (.odt) editing with stable paragraph anchors and deterministic document operations.", "long_description": "Safe Docx lets Claude work directly with .docx files on your local filesystem. It provides stable paragraph IDs (_bk_*) for precise editing while preserving formatting and structure.\n\nCore capabilities include reading/searching content, formatting-preserving edits and inserts, deterministic layout controls, tracked-changes output, comments, footnote tools, document comparison, and revision extraction.", "author": { diff --git a/packages/safe-docx-mcpb/package.json b/packages/safe-docx-mcpb/package.json index 04dcd81a..f445ea48 100644 --- a/packages/safe-docx-mcpb/package.json +++ b/packages/safe-docx-mcpb/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/safedocx-mcpb", - "version": "0.21.3", + "version": "0.22.0", "private": true, "description": "Claude Desktop MCP Bundle (.mcpb) wrapper for @usejunior/safe-docx", "type": "module", @@ -14,7 +14,7 @@ "lint": "tsc --noEmit" }, "dependencies": { - "@usejunior/safe-docx": "^0.21.3" + "@usejunior/safe-docx": "^0.22.0" }, "devDependencies": { "@vitest/runner": "^4.1.8", diff --git a/packages/safe-docx/.smithery/shttp/manifest.json b/packages/safe-docx/.smithery/shttp/manifest.json index 78daef53..0275c834 100644 --- a/packages/safe-docx/.smithery/shttp/manifest.json +++ b/packages/safe-docx/.smithery/shttp/manifest.json @@ -6,7 +6,7 @@ "serverCard": { "serverInfo": { "name": "safe-docx", - "version": "0.21.3" + "version": "0.22.0" }, "tools": [ { diff --git a/packages/safe-docx/package.json b/packages/safe-docx/package.json index 519cd226..c18290e2 100644 --- a/packages/safe-docx/package.json +++ b/packages/safe-docx/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/safe-docx", - "version": "0.21.3", + "version": "0.22.0", "description": "Edit Word (.docx) and OpenDocument (.odt) files with tracked changes, redlines, and formatting preservation. Built for AI coding agents. Apache-2.0 licensed, 100% local processing.", "mcpName": "io.github.UseJunior/safe-docx", "type": "module", @@ -25,7 +25,7 @@ "safedocx": "./bin/safe-docx.js" }, "dependencies": { - "@usejunior/docx-mcp": "^0.21.3" + "@usejunior/docx-mcp": "^0.22.0" }, "engines": { "node": ">=18.0.0" diff --git a/packages/safe-docx/server.json b/packages/safe-docx/server.json index 6ef0aefe..c06ca6d2 100644 --- a/packages/safe-docx/server.json +++ b/packages/safe-docx/server.json @@ -3,7 +3,7 @@ "name": "io.github.UseJunior/safe-docx", "title": "Safe Docx", "description": "AI-native surgical editing of Word .docx and OpenDocument .odt files with formatting preservation", - "version": "0.21.3", + "version": "0.22.0", "websiteUrl": "https://usejunior.com/developer-tools/safe-docx", "icons": [ { @@ -18,7 +18,7 @@ { "registryType": "npm", "identifier": "@usejunior/safe-docx", - "version": "0.21.3", + "version": "0.22.0", "transport": { "type": "stdio" }, diff --git a/site/package.json b/site/package.json index 710f5504..75db681b 100644 --- a/site/package.json +++ b/site/package.json @@ -1,6 +1,6 @@ { "name": "@usejunior/safe-docx-site", - "version": "0.21.3", + "version": "0.22.0", "private": true, "type": "module", "description": "Safe DOCX marketing and trust site (Eleventy)",