This release adds 5 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+8 more
Summary
AI summaryUpdates Minor Changes, bcca7bd, and mcp across a mixed release.
Full changelog
Minor Changes
-
bcca7bd: feat(mcp): normalize media paths to absolute delivery URLs on cloud writes
External-agent writes through MCP Cloud go straight through
planContentSave
rather than Studio's content-engine, so relativemedia/...references used to
land in git verbatim. They now resolve the same way Studio's own write path
resolves them.- @contentrain/types:
RepoProvidergains optionalmediaBaseUrl(the
per-project public delivery base, project segment included) and
ContentrainConfiggains optionalcdn.url. - @contentrain/mcp: when the provider supplies
mediaBaseUrl(cloud mode),
contentrain_content_savenormalizes relativemedia/...references — in
image/video/file fields (incl. nested object/array) and markdown bodies — to
absolute{base}/{path}delivery URLs before commit. Idempotent: external
URLs (http(s)://,//,data:) and already-absolute URLs pass through. In
local mode (no base) paths are kept verbatim — the OSS file model. - @contentrain/query:
generateacceptscdnBaseUrl(or reads
config.cdn.url) and bakes amedia()resolver into the generated local
client —media('media/...') → {base}/{path}— the local-mode counterpart of
CDN mode'sMediaAccessor.url(). - contentrain (CLI):
generate --cdnBaseUrl <base>flag. - @contentrain/rules, @contentrain/skills: document the two media storage
models (local-file vs Studio-CDN) and themedia()resolver.
- @contentrain/types:
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Contentrain/ai
Local-first MCP server for AI content governance — 13 tools for model/content CRUD, validation, normalization, and i18n across any framework.
Related context
Earlier breaking changes
- v@contentrain/[email protected] `validateModelDefinition` now returns `{ errors, warnings }` instead of a string array.
- v@contentrain/[email protected] `model_save` rejects models with unknown keys, `min > max`, invalid constraints, and `unique` on singletons.
- v@contentrain/[email protected] `content_save` now validates before committing and rejects invalid content.
- v@contentrain/[email protected] `validateModelDefinition` now returns `{ errors, warnings }` instead of a string array.
- v@contentrain/[email protected] `model_save` rejects models with unknown keys, `min > max`, invalid constraints, and `unique` on singletons.
Beta — feedback welcome: [email protected]