Skip to content

chore: release every package as 1.0.0, pin installs to @1 - #33

Merged
unclecatvn merged 2 commits into
masterfrom
release/1.0.0
Oct 15, 2026
Merged

unclecatvn merged 2 commits into
masterfrom
release/1.0.0

Conversation

@unclecatvn

Copy link
Copy Markdown
Owner

Why

Every package ships 1.0.0 together with the Odoo refactor (#31), and from then on the semver table in CONTRIBUTING applies strictly. Pinning install commands to the major (@1) lets users pick up every fix and feature on restart without ever landing on a breaking release.

Stacked on #31 (branch refactor/odoo-review). Merge #31 first; this PR then shows only its own commit.

What changes

Area Before After
@unclecat/mcp-multi-db 0.0.8 major changeset → 1.0.0. No code changes since 0.0.8, so the summary only marks the stable API and the semver policy
@unclecat/mcp-obsidian 0.0.2 major changeset → 1.0.0, same as db (no changes since 0.0.2)
@unclecat/mcp-odoo 0.0.3 1.0.0 via the existing major changeset from #31 (unchanged here)
Install commands (root README, every package README.md / README.vi.md) npx -y @unclecat/mcp-<x>, obsidian @latest npx -y @unclecat/mcp-<x>@1, in both the claude mcp add ... -- npx lines and the JSON "args"
obsidian README note on @latest "checks for a new release every start" explains @1: newest 1.x on start, never a breaking 2.0
CONTRIBUTING → Versioning "All packages are still 0.0.x, 1.0.0 is planned" describes the post-1.0 state

The .env.example files and CONTRIBUTING snippets have no install commands, so they didn't need changes.

Verification

  • pnpm changeset status: db, obsidian, odoo all bump at major.
  • git log @unclecat/mcp-multi-db@0.0.8..HEAD -- db and @unclecat/mcp-obsidian@0.0.2..HEAD -- obsidian are both empty, so neither package has breaking changes to list.
  • npm has never published a 1.x for any of the three (db's old 3.0.0 / 3.0.1 were unpublished; the registry lists only 0.0.x), so 1.0.0 publishes cleanly.
  • npm 11's libnpmexec re-resolves a range spec like @1 against the registry instead of reusing a cached match, so npx -y …@1 picks up new 1.x releases.
  • pnpm -r test (db 203, odoo 50, obsidian 41), pnpm lint, and pnpm format in each package pass.

After merge

Merge the "chore(release): version packages" PR right away. Until 1.0.0 is on npm, npx -y @unclecat/mcp-<x>@1 from the GitHub README has nothing to resolve to.

Fixes:
- name_search with a domain failed on Odoo 19 ("unexpected keyword
  argument 'args'"): name and domain are now sent positionally, which
  works on 18 (`args`) and 19 (`domain`).
- The request timeout was cleared once headers arrived, so a stalled
  body hung forever. AbortSignal.timeout now bounds the body read too.

Changes:
- Move to McpServer.registerTool with strict zod schemas as the single
  source of truth; drop the hand-written JSON Schemas, parseOrThrow and
  the dispatch switch.
- Collapse the error hierarchy into one OdooError whose message carries
  the [CODE] prefix.
- search_read defaults to limit 100 and returns limit_reached: true on a
  full page.
- Add readOnlyHint / destructiveHint tool annotations.
- Trim descriptions and instructions (~5.8k -> ~3.3k tokens per session);
  instructions now fit under the ~2 KB hosts truncate at.
- Remove dead code: validators.js, clientRegistry.js, index.d.ts,
  clearFieldsCache, shutdown handlers.
- Require zod ^3.25 (MCP SDK 1.29 peer range).

BREAKING CHANGE: ODOO_INPUT_INVALID is gone; invalid arguments now
return the SDK's "Input validation error: ..." text. search_read without
a limit now returns at most 100 records.
- Add major changesets for @unclecat/mcp-multi-db and
  @unclecat/mcp-obsidian. Neither package changed since its last
  release (0.0.8 / 0.0.2), so the summaries only mark the stable API
  and the strict semver policy. odoo's major changeset comes from the
  refactor.
- Pin every install command in the READMEs (root, each package, en and
  vi) to the current major: `npx -y @unclecat/mcp-<x>@1` and
  `"args": ["-y", "@unclecat/mcp-<x>@1"]`. obsidian moves off
  `@latest`.
- CONTRIBUTING: describe the post-1.0 state instead of "still 0.0.x".
@unclecatvn
unclecatvn merged commit e4eb489 into master Oct 15, 2026
9 checks passed
@unclecatvn
unclecatvn deleted the release/1.0.0 branch October 16, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant