<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>sdxc documentation</title><link>https://sdxc.dev/</link><description>Small TypeScript packages built on web standards. Take one, or take the set.</description><language>en</language><lastBuildDate>Thu, 15 Oct 2026 00:00:00 GMT</lastBuildDate><atom:link href="https://sdxc.dev/rss.xml" rel="self" type="application/rss+xml"/><item><title>What these are</title><link>https://sdxc.dev/docs/getting-started/what-these-are</link><description>A collection of small TypeScript packages that agree with each other, built on what the web platform already provides.</description><category>Getting started</category><guid isPermaLink="true">https://sdxc.dev/docs/getting-started/what-these-are</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Install and pin</title><link>https://sdxc.dev/docs/getting-started/install-and-pin</link><description>How each package installs by its own name, why every package in a project shares one release date, and where the record of a release is kept.</description><category>Getting started</category><guid isPermaLink="true">https://sdxc.dev/docs/getting-started/install-and-pin</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Your first handler</title><link>https://sdxc.dev/docs/getting-started/your-first-handler</link><description>Three packages composed into a request handler that never throws, and what each line of it demonstrates.</description><category>Getting started</category><guid isPermaLink="true">https://sdxc.dev/docs/getting-started/your-first-handler</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>The sdxc command</title><link>https://sdxc.dev/docs/getting-started/the-sdxc-command</link><description>Start a project from a template, generate files where the layout puts them, copy UI components to edit, upgrade with a prompt for your agent, and run your app's own commands.</description><category>Getting started</category><guid isPermaLink="true">https://sdxc.dev/docs/getting-started/the-sdxc-command</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Result everywhere</title><link>https://sdxc.dev/docs/conventions/result-everywhere</link><description>Every fallible entry point answers with a value instead of throwing, and what that buys you at the call site.</description><category>Conventions</category><guid isPermaLink="true">https://sdxc.dev/docs/conventions/result-everywhere</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Standard Schema validation</title><link>https://sdxc.dev/docs/conventions/standard-schema-validation</link><description>Where a package needs a schema it accepts any Standard Schema, so the validation library is yours to choose.</description><category>Conventions</category><guid isPermaLink="true">https://sdxc.dev/docs/conventions/standard-schema-validation</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Subpath exports</title><link>https://sdxc.dev/docs/conventions/subpath-exports</link><description>A package is split into entry points so importing one concern leaves the others out of your bundle.</description><category>Conventions</category><guid isPermaLink="true">https://sdxc.dev/docs/conventions/subpath-exports</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Naming</title><link>https://sdxc.dev/docs/conventions/naming</link><description>What a package name tells you, and the conventions its exports follow, so the next package reads like the last one.</description><category>Conventions</category><guid isPermaLink="true">https://sdxc.dev/docs/conventions/naming</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Wire the router: middleware, context and services</title><link>https://sdxc.dev/docs/building-remix-apps/wire-the-router</link><description>Build the global middleware chain once, publish services onto the request context, and let tests swap them.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/wire-the-router</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Validate forms and route params</title><link>https://sdxc.dev/docs/building-remix-apps/forms-and-params</link><description>Turn form posts, query strings, route params and JSON bodies into typed values, and answer each failure with the right response.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/forms-and-params</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Build the interface with remix/component</title><link>https://sdxc.dev/docs/building-remix-apps/interface-with-remix-ui</link><description>Compose pages from @sdxc/ui components, lay them out with @sdxc/u mixins, and hydrate only the island that needs script.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/interface-with-remix-ui</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Translate your app</title><link>https://sdxc.dev/docs/building-remix-apps/translate-your-app</link><description>Detect each request's language, translate MessageFormat 2 messages in handlers, views, jobs and islands, and catch broken copy in a test.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/translate-your-app</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>SEO, sitemaps and robots.txt</title><link>https://sdxc.dev/docs/building-remix-apps/seo-sitemaps-and-robots</link><description>Give every page one canonical URL and structured data, and serve sitemap.xml, robots.txt and security.txt from routes.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/seo-sitemaps-and-robots</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Dates, text and identifiers</title><link>https://sdxc.dev/docs/building-remix-apps/values</link><description>Mint prefixed record IDs, slug and summarize titles, show dates in the viewer's zone, and compare client versions.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/values</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Canonical URLs, lazy routes and header fields</title><link>https://sdxc.dev/docs/building-remix-apps/router-utilities</link><description>Redirect to one canonical host and path, end a request with a thrown Response, load routes on demand, and read structured headers.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/router-utilities</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read nested query strings and forms</title><link>https://sdxc.dev/docs/building-remix-apps/nested-fields</link><description>Read bracket keys like filter[status][] and items[0][quantity] into typed objects and arrays, from a URL or a form post, and write them back.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/nested-fields</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Draw QR codes</title><link>https://sdxc.dev/docs/building-remix-apps/qr-codes</link><description>Encode a link at the error correction level its surface needs, render it inline with remix/component, and serve it as an SVG file from a route.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/qr-codes</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Load content as readers reach it</title><link>https://sdxc.dev/docs/building-remix-apps/load-content-as-readers-reach-it</link><description>Defer a list's next page until the reader scrolls near it and a dialog's content until it opens, keep the address bar on the page being read, and keep plain links for browsers running no script.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/load-content-as-readers-reach-it</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Keyboard shortcuts</title><link>https://sdxc.dev/docs/building-remix-apps/keyboard-shortcuts</link><description>Bind page-wide keys with keymap(), print each hint in the reader's own key caps, list them in a shortcuts panel, and announce what a key did.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/keyboard-shortcuts</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Calendars, date ranges and time zones</title><link>https://sdxc.dev/docs/building-remix-apps/calendars-and-date-ranges</link><description>Lay out a month calendar in the viewer's zone, read a report's day range from the query string, and let people pick their time zone from the runtime's own list.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/calendars-and-date-ranges</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Build a search dialog</title><link>https://sdxc.dev/docs/building-remix-apps/search-dialog</link><description>Open a search dialog from every page's header, show live results in a frame as the reader types, fall back to a plain results page, and announce what each search found.</description><category>Building Remix apps</category><guid isPermaLink="true">https://sdxc.dev/docs/building-remix-apps/search-dialog</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Build a JSON API with problem details</title><link>https://sdxc.dev/docs/http-apis/json-apis</link><description>A small resource API that validates bodies, answers failures as RFC 9457 problems, pages its lists and states its rate limit.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/json-apis</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Describe your API with OpenAPI</title><link>https://sdxc.dev/docs/http-apis/openapi</link><description>Turn the schemas your handlers validate with into an OpenAPI 3.1 document, serve it, and test responses against it.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/openapi</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Idempotent writes and JSON Merge Patch</title><link>https://sdxc.dev/docs/http-apis/safe-writes</link><description>Make a create safe to retry with Idempotency-Key, accept partial updates as merge patches, and refuse writes based on stale reads.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/safe-writes</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Write a typed API client</title><link>https://sdxc.dev/docs/http-apis/api-clients</link><description>A client class for one API that attaches credentials once, validates every response, and turns problem documents into typed failures.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/api-clients</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Paginate lists</title><link>https://sdxc.dev/docs/http-apis/paginate-lists</link><description>Page by offset or keyset, validate the page parameters, advertise pages in Link headers, and render a pager in HTML.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/paginate-lists</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Address JSON with JSON Pointer</title><link>https://sdxc.dev/docs/http-apis/json-pointer</link><description>Parse, stringify, get and set RFC 6901 JSON Pointers, so a member named a/b still points at itself in a problem, a schema path or a patch.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/json-pointer</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Parse and write Link headers</title><link>https://sdxc.dev/docs/http-apis/link-header</link><description>Parse and stringify RFC 8288 Link headers, keep foreign parameters through a merge, and drop malformed entries instead of failing the response.</description><category>HTTP APIs</category><guid isPermaLink="true">https://sdxc.dev/docs/http-apis/link-header</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Sign in with OpenID Connect</title><link>https://sdxc.dev/docs/identity-and-security/sign-in-with-oidc</link><description>An authorization-code login against any OpenID Connect provider, with a KV-backed session and a return URL that stays on your origin.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/sign-in-with-oidc</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Add passkeys</title><link>https://sdxc.dev/docs/identity-and-security/passkeys</link><description>Enroll a passkey for a signed-in account and sign in with it, verifying both WebAuthn ceremonies on the server.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/passkeys</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Receive and send webhooks</title><link>https://sdxc.dev/docs/identity-and-security/webhooks</link><description>Verify Standard Webhooks deliveries, reject replays, hand the work to a queue, and sign the deliveries you send.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/webhooks</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Protect forms from bots and abuse</title><link>https://sdxc.dev/docs/identity-and-security/protect-forms</link><description>Layer a honeypot, a CAPTCHA, a per-address budget, spam scoring and address and password checks on a public sign-up form.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/protect-forms</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Security headers and CSP</title><link>https://sdxc.dev/docs/identity-and-security/security-headers</link><description>One typed policy for CSP, HSTS and Permissions-Policy, nonces for the scripts you render, violation reports, and a security.txt.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/security-headers</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Issue and verify JWTs</title><link>https://sdxc.dev/docs/identity-and-security/json-web-tokens</link><description>Sign short-lived tokens with keys kept in R2, publish them as a JWKS, verify tokens by issuer and audience, and rotate keys safely.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/json-web-tokens</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Hash, sign and encrypt with Web Crypto</title><link>https://sdxc.dev/docs/identity-and-security/web-crypto</link><description>Reset links backed by hashed tokens, scrypt passwords, HMAC-signed links and secrets sealed at rest with AES-GCM.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/web-crypto</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Add two-factor sign-in with TOTP</title><link>https://sdxc.dev/docs/identity-and-security/two-factor</link><description>Enroll an authenticator app, ask for its code after the password, spend each code once, back it up with recovery codes, and turn it off.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/two-factor</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Custom domains for your customers</title><link>https://sdxc.dev/docs/identity-and-security/verify-domains</link><description>Prove a customer owns a domain with a DNS TXT check, register it on Cloudflare for SaaS, and poll it until it serves.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/verify-domains</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Enterprise sign-on with SAML and SCIM</title><link>https://sdxc.dev/docs/identity-and-security/enterprise-sso</link><description>Let a customer's directory sign its people in over SAML 2.0 and provision their users and groups over SCIM 2.0.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/enterprise-sso</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Fetch URLs a stranger chose</title><link>https://sdxc.dev/docs/identity-and-security/fetch-untrusted-urls</link><description>Refuse private hosts at the endpoint, fetch in a job under one deadline and a byte cap on every redirect, and cap bodies that never came from fetch.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/fetch-untrusted-urls</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Client addresses and networks</title><link>https://sdxc.dev/docs/identity-and-security/client-addresses</link><description>Read the caller's address once per request, key limits on its network, store it as text, admit only your own networks and refuse internal targets.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/client-addresses</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Decide who can do what</title><link>https://sdxc.dev/docs/identity-and-security/authorization</link><description>Name every ability once, grant them through additive roles, refuse through guards, and check them in routes, handlers, jobs and MCP tools from facts loaded once.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/authorization</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Sign and verify HTTP requests</title><link>https://sdxc.dev/docs/identity-and-security/http-message-signatures</link><description>Sign requests with RFC 9421 or draft-cavage, verify them with a freshness window and replay checks, and attach and check Content-Digest, Repr-Digest and Digest.</description><category>Identity &amp; security</category><guid isPermaLink="true">https://sdxc.dev/docs/identity-and-security/http-message-signatures</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Cache on Cloudflare Workers</title><link>https://sdxc.dev/docs/data-and-background-work/cache-on-workers</link><description>Keep values in Workers KV with a stale copy for outages, and store whole responses at the edge under tags you can purge.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/cache-on-workers</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Query D1 and Durable Object SQL</title><link>https://sdxc.dev/docs/data-and-background-work/databases</link><description>Run remix/data-table models on D1 or a Durable Object's SQLite, publish the database on ctx.db, and test against real SQL.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/databases</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Model your tables</title><link>https://sdxc.dev/docs/data-and-background-work/data-models</link><description>Wrap remix/data-table tables in models with scopes, callbacks and typed meta fields, bind them per request as ctx.models, and dispatch jobs only after a write commits.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/data-models</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Background jobs and cron</title><link>https://sdxc.dev/docs/data-and-background-work/jobs-and-cron</link><description>Declare jobs once, enqueue them from handlers, run them on Cloudflare Queues and cron triggers, and validate schedules users type.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/jobs-and-cron</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Send email</title><link>https://sdxc.dev/docs/data-and-background-work/send-email</link><description>Write emails as remix/component classes, translate them for the reader, send them from a job, and assert on them with an in-memory transport.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/send-email</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Feature flags</title><link>https://sdxc.dev/docs/data-and-background-work/feature-flags</link><description>Declare flags in a typed catalog, target them by rule or percentage, and evaluate them on ctx.flags in handlers and jobs.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/feature-flags</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Charge for your app</title><link>https://sdxc.dev/docs/data-and-background-work/billing</link><description>Sell through a hosted checkout, keep your own copy of what each customer holds, and gate features on it without calling the platform.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/billing</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Import and export CSV</title><link>https://sdxc.dev/docs/data-and-background-work/csv</link><description>Read an uploaded CSV into validated rows with errors that name the line, and stream exports that spreadsheets open safely.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/csv</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Retry on a growing delay</title><link>https://sdxc.dev/docs/data-and-background-work/retry-with-backoff</link><description>Wait longer after each failure, with a ceiling and jitter, in queue jobs, in-process retries, polled rows and sign-in lockouts.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/retry-with-backoff</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Rules your users write</title><link>https://sdxc.dev/docs/data-and-background-work/conditions</link><description>Let customers write conditions as text or JSON, store them as data, refuse a broken one with its path, and evaluate it in a request or a job.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/conditions</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Run a newsletter list</title><link>https://sdxc.dev/docs/data-and-background-work/newsletter</link><description>Subscribe readers to Buttondown or Kit through one contract, credit the campaign they came from, follow confirmations and unsubscribes from webhooks, and test against an in-memory list.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/newsletter</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Know where visitors come from</title><link>https://sdxc.dev/docs/data-and-background-work/attribution</link><description>Record a visitor's first and last touch from UTM parameters, click IDs and referrers, then store it with the account, the checkout or the newsletter reader they become.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/attribution</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Send alerts to chat and paging services</title><link>https://sdxc.dev/docs/data-and-background-work/messaging</link><description>Write one message, deliver it to Slack, Discord, Telegram, PagerDuty, Opsgenie or a signed webhook from a job with retries, and test it without a network.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/messaging</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Send browser push notifications</title><link>https://sdxc.dev/docs/data-and-background-work/browser-push</link><description>Subscribe a browser from a click, store the subscription safely, and send encrypted Web Push from a Worker, directly or as one more messaging destination.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/browser-push</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Import and export DNS zone files</title><link>https://sdxc.dev/docs/data-and-background-work/zone-files</link><description>Read a pasted BIND zone file into typed records with every unusable line reported, check them against live DNS, and hand the zone back as a file.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/zone-files</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Watch when a domain expires</title><link>https://sdxc.dev/docs/data-and-background-work/domain-expiry</link><description>Read a domain's expiry date, status and registrar from its registry over RDAP, sweep every tracked domain on a schedule, and alert before the registration lapses.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/domain-expiry</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Stream several files as a ZIP</title><link>https://sdxc.dev/docs/data-and-background-work/zip-downloads</link><description>Bundle generated text, CSV streams and stored files into one ZIP download that starts at once, holds one entry in memory at a time, and refuses entry names an unarchiver would write outside its folder.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/zip-downloads</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Full-text search over SQLite</title><link>https://sdxc.dev/docs/data-and-background-work/full-text-search</link><description>Keep an FTS5 index beside the tables you already have, parse what a reader types without a syntax error, rank title matches above body matches, highlight them, and page the results.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/full-text-search</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Stream JSON Lines</title><link>https://sdxc.dev/docs/data-and-background-work/json-lines</link><description>Export records as a JSON Lines download that streams as it is read, import uploads row by row with errors that name the line, and resume a long import where it stopped.</description><category>Data &amp; background work</category><guid isPermaLink="true">https://sdxc.dev/docs/data-and-background-work/json-lines</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>A markdown content pipeline</title><link>https://sdxc.dev/docs/content-and-feeds/markdown-pipeline</link><description>Parse posts with typed frontmatter and custom tags, transform them in one walk, and render them in a Remix route.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/markdown-pipeline</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Publish RSS, Atom and JSON feeds</title><link>https://sdxc.dev/docs/content-and-feeds/publish-feeds</link><description>Serve one list of posts as RSS 2.0, Atom and JSON Feed, advertise them, and ping a WebSub hub when they change.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/publish-feeds</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Join the IndieWeb: Webmention and Micropub</title><link>https://sdxc.dev/docs/content-and-feeds/indieweb</link><description>Mark posts up with microformats, receive and send Webmentions from background jobs, and accept posts over Micropub.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/indieweb</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Publish calendar feeds</title><link>https://sdxc.dev/docs/content-and-feeds/calendar-feeds</link><description>Serve your events as an iCalendar feed people subscribe to, with time zones and recurrence, and read uploaded .ics files back.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/calendar-feeds</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read other people's pages</title><link>https://sdxc.dev/docs/content-and-feeds/read-web-pages</link><description>Save links for later by fetching each page under bounds in a job, pulling out its article, and building preview cards.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/read-web-pages</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Generate reference docs from JSDoc</title><link>https://sdxc.dev/docs/content-and-feeds/reference-docs</link><description>Read the JSDoc in your TypeScript source at build time, emit JSON, and serve an API reference page for every public symbol.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/reference-docs</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Federate a site with ActivityPub</title><link>https://sdxc.dev/docs/content-and-feeds/activitypub</link><description>Publish an actor, answer WebFinger, verify an inbox that handles follows and undos, deliver signed posts to followers from jobs, and test it all in memory.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/activitypub</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Anchor, polish and lint markdown</title><link>https://sdxc.dev/docs/content-and-feeds/markdown-plugins</link><description>Give headings anchors and a table of contents, rewrite links, set typographic punctuation, turn pasted URLs into embeds, and check content in CI.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/markdown-plugins</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Fill markdown templates with variables</title><link>https://sdxc.dev/docs/content-and-feeds/markdown-variables</link><description>Write one markdown document with holes for per-render values, fill them per tenant, plan or locale, and keep the template round-tripping through an editor.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/markdown-variables</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Offer posts as EPUB ebooks</title><link>https://sdxc.dev/docs/content-and-feeds/ebooks</link><description>Turn a markdown post into an EPUB with a nested table of contents and accessibility metadata, refused at build time wherever epubcheck would reject it, and serve it as a download.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/ebooks</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Render TeX math</title><link>https://sdxc.dev/docs/content-and-feeds/math</link><description>Turn TeX formulas in markdown and in components into MathML the browser draws natively, with broken formulas caught at build time.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/math</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Draw diagrams from text</title><link>https://sdxc.dev/docs/content-and-feeds/diagrams</link><description>Turn Mermaid sequence, class, state and flowchart diagrams in markdown into SVG drawn on the server, with broken diagrams caught at build time.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/diagrams</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Load live regions into markdown</title><link>https://sdxc.dev/docs/content-and-feeds/markdown-frames</link><description>Write a frame tag in a markdown document to hold a region a route renders per request, such as an interactive island, while the prose around it stays parsed once and cached.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/markdown-frames</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Embed YouTube videos in markdown</title><link>https://sdxc.dev/docs/content-and-feeds/youtube-embeds</link><description>Turn a YouTube URL pasted on its own line into a lazy-loaded, privacy-enhanced player, keeping its start time, with a plain link left for feeds.</description><category>Content &amp; feeds</category><guid isPermaLink="true">https://sdxc.dev/docs/content-and-feeds/youtube-embeds</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Logs, traces and timings</title><link>https://sdxc.dev/docs/operations-and-testing/observability</link><description>One wide log event per invocation, a W3C trace that follows a request into its jobs, and a Server-Timing header for the browser.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/observability</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Expose your app over MCP</title><link>https://sdxc.dev/docs/operations-and-testing/mcp-server</link><description>Declare tools and resources, answer them with your app's own context, cache the expensive ones, and mount the server as a route.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/mcp-server</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Test Workers apps</title><link>https://sdxc.dev/docs/operations-and-testing/testing</link><description>Vitest through Vite+, real bindings in the Workers pool, in-memory mocks, MSW, and executable specs against a running app.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/testing</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Generate believable test data</title><link>https://sdxc.dev/docs/operations-and-testing/test-data</link><description>Seed test databases and component fixtures with realistic data that comes out identical on every run, so failures replay and snapshots hold.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/test-data</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Estimate what your Worker costs</title><link>https://sdxc.dev/docs/operations-and-testing/estimate-costs</link><description>Turn requests, CPU time, KV reads and D1 rows into cents with Cloudflare's list prices, and warn before a month runs over budget.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/estimate-costs</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Randomness you can replay</title><link>https://sdxc.dev/docs/operations-and-testing/randomness</link><description>Pass random streams into your own code, seed them in tests, store the seed behind a draw, and resume a stream from storage.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/randomness</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Build a command line</title><link>https://sdxc.dev/docs/operations-and-testing/build-a-command-line</link><description>Declare commands as a contract, answer them with typed handlers, ask for what a flag left out, show progress, share services through middleware, and test every command without a terminal.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/build-a-command-line</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Your app's command line</title><link>https://sdxc.dev/docs/operations-and-testing/your-apps-command-line</link><description>Give your app commands for work that belongs to no request, and publish its log, database, models, jobs, translations and mailer to them through the same middleware its routes use.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/your-apps-command-line</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read configuration files</title><link>https://sdxc.dev/docs/operations-and-testing/configuration-files</link><description>Parse JSON with comments and trailing commas, point a mistake at its line and column, validate the result, and hand it to every command of a command line.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/configuration-files</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Edit source files</title><link>https://sdxc.dev/docs/operations-and-testing/edit-source-files</link><description>Find the modules a project imports, rename a package across every file, move names to another module, and add declarations and calls, changing only the text each edit touches.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/edit-source-files</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Versioning</title><link>https://sdxc.dev/docs/releases/versioning</link><description>Releases are dated rather than semantic, the number records when a release went out, and that is why a dependency is written as one exact date.</description><category>Releases</category><guid isPermaLink="true">https://sdxc.dev/docs/releases/versioning</guid><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Write executable specs</title><link>https://sdxc.dev/docs/operations-and-testing/executable-specs</link><description>Describe your running app's behavior in .spec files, run them against a dev server with named grants, and gate CI on them.</description><category>Operations &amp; testing</category><guid isPermaLink="true">https://sdxc.dev/docs/operations-and-testing/executable-specs</guid><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>License</title><link>https://sdxc.dev/docs/license</link><description>Every package in the collection is published under the MIT license, on the same terms, and each one carries its own copy of it.</description><category>License</category><guid isPermaLink="true">https://sdxc.dev/docs/license</guid><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item></channel></rss>