What's New

What the fleet shipped.

Updates across the MAJR Agent Services, drafted from each service's own release notes. Refreshed Jul 18, 2026.

DispatchJul 17, 2026
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.

SEO / GEO / AEOJul 17, 2026

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.

SEO / GEO / AEOJul 17, 2026
Authentication is now keys-only

The legacy shared token has been retired. Use API keys to authenticate with MAJR SEO.

DispatchJul 17, 2026

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.

SEO / GEO / AEOJul 17, 2026

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 EncodingJul 17, 2026
Completion callbacks are now protected against SSRF

Callback URLs are validated before we send to them, including blocking internal IPv6 address ranges.

SEO / GEO / AEOJul 16, 2026
Better error visibility across the SEO tools

When something goes wrong in any of the six SEO tools, we now capture more useful context to diagnose and fix it faster. Errors from release notes and SEO now report to Sentry.

DispatchJul 16, 2026
MCP tools for the full API

The complete /v1 surface is now available as MCP tools, so you can call it directly from MCP-compatible clients.

Dispatch, the new name for release notes

The release-notes service is now MAJR Dispatch. Existing paths continue to work alongside the new ones during this transition.

Corrected the API title, catalog revision, and what's-new path.

Release NotesJul 15, 2026
Cold-start reliability

Requests that arrived while the service was scaling up from zero no longer hit a 503 window. The cold-start path now fetches complete responses and handles the scale-to-zero race directly.

Warm-start behavior

warm() now does what its contract says: it sets a bound on how many starts kick off, not a cap on total requests. Warm overrun is bounded, and Retry-After is derived from real timing so clients back off with accurate values.

Documentation

Every documented surface now matches the shipped implementation. MCP is described protocol-first, with the vendor CLI shown as one labelled example rather than the only path.

SEO / GEO / AEOJul 15, 2026

Added an example-driven guide to connecting over MCP. The docs now describe the protocol first, with a vendor CLI shown as one labelled example rather than the only path.

We also carried over cold-start handling from release-notes so both tools behave the same way on first run.

Media EncodingJul 15, 2026
Fewer cold-start failures

Requests that arrive while the encoder is scaling up from zero no longer hit a 503 window. The cold-start race is fixed, so uploads submitted during that window are handled instead of rejected.

More predictable retries after a failed fetch

When a source fetch fails, the cooldown now starts at the moment of failure rather than later. Retry timing is enforced as a hard bound, and nonsensical retry values are rejected.

Release NotesJul 15, 2026
Consistent, accurate SEO metadata across your pages

Canonical URLs now default correctly, so search engines see a single authoritative version of each page.

Parity claims and catalog markers report the true state of each surface, keeping your metadata honest and aligned.

SEO / GEO / AEOJul 15, 2026
Consistent origin control across surfaces

Setting an origin override now applies to robots.txt, sitemaps, and page metadata alike, so every surface reflects the same source.

Canonical URLs

now default sensibly, so pages point to a clear preferred address out of the box.

Clearer byte-cap terminology

for size limits, so what you set matches what you get.

SEO / GEO / AEOJul 15, 2026
Audit any page over MCP

MAJR SEO now exposes an MCP surface at /mcp with a single tool, audit_page. Point your MCP client at it to run a page-readiness audit.

Clearer audit results

Failed checks now come with an explanation of what went wrong, and audits can return the page HTML so you can verify findings directly against the source.

More accurate errors

When key authentication isn't configured, the MCP surface now returns a 503 instead of a 401, so you can tell "not set up yet" apart from "not authorized."

Also: audit_html is now capped by byte size, and non-string URL labels are rejected rather than silently accepted.

SEO / GEO / AEOJul 15, 2026
Page-readiness audit is more reliable

URLs containing ASCII control characters no longer trigger a 500 error, and redirect (3xx) responses are now handled during ingest.

Clearer auth on served surfaces

Each served surface now advertises the authentication method that actually works, so there's less guesswork about how to connect.

API keys are live

You can now authenticate with platform API keys. Legacy credentials are still accepted during the transition, so existing integrations keep working.

Media EncodingJul 12, 2026
Managed storage onramp

You can now hand off uploads to managed storage and let encoding pick them up, with durable poll snapshots so in-progress work survives restarts.

MCP adapter

Drive encoding operations through an MCP interface built on the shared operations layer. Omitted arguments and error messages are handled cleanly.

Beta caller rules

The four rules for beta callers are now documented in llms.txt.

Media EncodingJul 11, 2026
Faster, sharper image encoding

WebP output now runs on an updated toolchain with improved verification, so encoded images match their sources more reliably.

Release NotesJul 10, 2026
Control Plane in the catalog

The Control Plane now appears in /catalog.json, so you can discover it alongside other platform services.

Release NotesJul 10, 2026
Draft safety improvements

keep unfinished and internal content out of published notes.

Drafts that carry the no-news marker are no longer published by mistake.

Internal deliberation text is prevented from leaking into published output.

Brand accuracy

now fails fast when voice drifts on brand pushes, so mismatches surface early instead of shipping.

Release NotesJul 8, 2026
Introducing the Control Plane

The Control Plane is now a standalone part of the platform, extracted from release notes so it can grow on its own.

Release NotesJul 7, 2026
Service-plane endpoints for the fleet

New endpoints give you a key map for your services and a path to ingest usage directly. This is phase 3 of the service-plane work.

Usage ingest, hardened

Ingest now rejects reserved names, drops echo-free locations, and requires exact integers so your submitted usage lands cleanly. Ingest identities are validated on the way in.

Cleaner draft totals

Service events no longer count toward draft totals, so the numbers you see reflect actual usage.

Plane API improvements

- A defined error contract, so failures return predictable, actionable responses. - MCP services now have full parity across the plane. - Documentation for plane secrets. - Oversized integers now return a clear 422 instead of failing silently.

Agent discovery for media encoding

The media-encoding service now publishes a service card, an llms.txt, and an OpenAPI 3.1 spec so agents can discover and call it.

Media EncodingJul 7, 2026
Per-product API keys

Authenticate with keys scoped to each product through the shared service-plane key map. During the transition, both new and legacy keys are accepted, and legacy keys are tried first so existing setups keep working.

Job IDs are namespaced per product

The same job ID in different products no longer collides. Use a / separator in IDs, with idempotency scoped to the rollout window.

Metering you can trust

Encoding usage is recorded to the platform ledger with one event per terminal outcome. Failed encodes now meter their partial costs, and failed downloads meter the bytes actually transferred, so your usage reflects real work done.

Honest rate limiting

Retry-After values now reflect the actual wait. The retryable auth 503 response is documented so you can handle it correctly.

Agent discovery surface

New service card, llms.txt, and OpenAPI 3.1 description make the encoding API easier to discover and integrate.

Release NotesJul 6, 2026
Fleet catalog now available at /catalog.json

Query the catalog to see the available agent surfaces programmatically.

Documented the SEO agent surface and full fleet catalog in the CATALOG file and READMEs.

SEO / GEO / AEOJul 6, 2026
Agent-ready SEO surface

MAJR SEO now publishes a machine-readable service card and an llms.txt so agents can discover what the service does and how to use it.

Polished OpenAPI spec

makes the API easier to read and integrate against.

Structured errors

follow the problem+json format, so failures come back in a consistent, parseable shape.

Release NotesJul 6, 2026
Bring your own API keys

You can now add and manage API keys under your account, organized by product. Set which keys are active so each product uses the credentials you intend.

Consistent, quality voice out of the box

Release notes are now composed against a shared voice floor on the server — the same honest, plain-spoken foundation applies no matter which product you're using.

We've also updated the documentation to match.

Release NotesJul 5, 2026
Use MAJR Release Notes with your AI agents

There's now an MCP endpoint at /mcp (streamable HTTP) that uses the same API keys you already have, so agents can generate release notes without a separate setup.

Discover the API more easily

We've polished the OpenAPI spec and added discovery endpoints at / and /llms.txt, making it simpler for both people and agents to find their way around.

See your usage

A new GET /v1/usage endpoint lets you check your usage directly.

Accounts and authentication

Tenants are now backed by Postgres, with support for two authentication methods.

We've also expanded the agent documentation and runbook to help you get started.

Media EncodingJul 2, 2026
Better crash tracking

We've added optional error reporting so encoding problems get caught and diagnosed faster, on both the server and worker side.

Media EncodingJul 2, 2026
Faster starts for encodes

The encoding API now stays warm and ready, so your jobs kick off without waiting on a cold start.

Media EncodingJul 2, 2026
Wider audio format support

AAC uploads sent as audio/x-aac are now recognized and encoded.

More reliable duplicate handling

When you re-submit a job that's already in progress, we now report its real, current status instead of a stale one.

SEO / GEO / AEOJun 22, 2026
Internationalized domains now work correctly

URLs with non-ASCII hostnames are handled using IDNA2008 encoding, and any authentication details in a URL are preserved as you entered them.

More reliable audits

The page-readiness audit now handles DNS failover gracefully and won't reuse connections across hosts, so results reflect the site you actually asked about.

Honest audit results

We tightened the audit so it reports what it genuinely found — no overstated pass/fail claims.

Safer fetching by default

The audit and other outbound fetches use a default-deny guard that blocks requests to internal and private addresses, including embedded-IPv4 and NAT64 edge cases. This is a best-effort protection against server-side request forgery.

Cleaner llms.txt and robots handling

llms.txt output is sanitized, and robots handling is hardened against injection.

Release NotesJun 18, 2026
Turn your development log into release notes

MAJR Release Notes is our first agent services capability — point it at a raw development log and get back concise, customer-facing notes.

Choose how notes are delivered

A new render target lets you pick the output format that fits your workflow.

Pick your model

Draft with any model from the supported allowlist.

Clearer errors

When something goes wrong, the service now returns structured, standards-based error responses (problem+json) so failures are easier to diagnose.

Back to services