Dispatch
Per-service key scopes are now enforced. API keys are limited to the scopes granted to their service. Requests outside those scopes return a 403.
The deprecated /v1/draft-release-notes alias has been removed. Use the current endpoint instead.
- Fixed encoding of analytics distinct IDs so segments with special characters are handled correctly.
AI SEO
Some features here work best-effort, but the changelog is quite sparse. Let me assess what's user-facing.
Per-service key scopes. API keys now carry scopes. When a key lacks the required scope for a request, the service returns a clear 403 instead of proceeding.
- The served quickstart reflects the 403 scope verdict, so you can see scope failures without guesswork.
AI SEO
Authentication is now keys-only. The legacy shared token has been retired. Use API keys to authenticate with MAJR SEO.
Dispatch
Usage analytics for release notes. We now track how the release-notes service is used, including request counts and outcomes. We record counts and metadata only, never the content of your logs or the notes we generate.
AI SEO
The full /v1 surface is now available as MCP tools. You can drive robots.txt, sitemaps, page metadata, llms.txt, and the page-readiness audit directly from MCP clients.
Fixes
- The concurrency meter slot is now released when thread creation fails, so a failed start no longer holds capacity.
Media Encoding
Completion callbacks are now protected against SSRF. Callback URLs are validated before we send to them, including blocking internal IPv6 address ranges.