Skip to content

prepare for release v0.5.0 - #88

Merged
aspiers merged 2 commits into
mainfrom
changeset-release/main
Apr 19, 2026
Merged

prepare for release v0.5.0#88
aspiers merged 2 commits into
mainfrom
changeset-release/main

Conversation

@hypercerts-release-bot

@hypercerts-release-bot hypercerts-release-bot Bot commented Apr 19, 2026

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

ePDS@0.5.0

Who should read this release

Minor Changes

  • #84 fe3ec90 Thanks @aspiers! - Add preview routes on auth-service and pds-core for iterating on client branding CSS.

    Affects: Client app developers, Operators

    Client app developers:

    • Visit /preview on either auth-service or pds-core for an index of every preview page. Each page renders against fixture data, so you can iterate on your branding.css without walking through a real OAuth flow.
    • Paste your client-metadata.json URL into the input field on the index page. The value is persisted in your browser and wires up every preview link, subject to the same PDS_OAUTH_TRUSTED_CLIENTS check as a real flow. Leave it blank to see the unbranded baseline.
    • The workflow becomes: edit branding.css, refresh any preview page. No OTP emails, no full flow.
    • The demo app links directly to the auth-service preview index with its own client_id pre-selected.

    Operators:

    • Two new env vars gate the preview routes, one per service: AUTH_PREVIEW_ROUTES=1 on auth-service, PDS_PREVIEW_ROUTES=1 on pds-core. Both are independent.
    • Safe to enable on preview deployments (Railway PR previews, pr-base, dev) and on local development instances. Preview routes don't affect real auth flows — they short-circuit real state — so they can technically run in production too, but they are a developer-only surface and are best left off outside preview/dev envs.
    • Privacy: enabling previews exposes /preview/cache-status, which returns the list of client_id URLs currently in the shared client-metadata cache — i.e. apps that have recently started an OAuth flow against this PDS. That partially leaks which third-party clients are using the instance, so keep previews disabled in production unless you're comfortable with that.
    • See packages/auth-service/.env.example and packages/pds-core/.env.example for the full notes.

Patch Changes

  • #83 cc722c4 Thanks @aspiers! - Demo amber/ocean themes now colour the OAuth consent page correctly.

    Affects: End users of the trusted demo

    End users: The consent screen shown after signing in via the trusted demo now uses the demo's own warm indigo / amber palette throughout — the Authorize and Deny-access buttons, the "Authorize" header strip, and the surrounding surface all match the theme instead of falling back to the default @atproto/oauth-provider dark-mode look.

    The previous CSS targeted auth-service's hand-rolled login markup (.btn-primary, .container, .field), which does not exist on the consent page — that page is built from @atproto/oauth-provider-ui, which is a Tailwind-utility bundle whose colours are driven by CSS custom properties (--branding-color-primary and friends). The demo theme now overrides those variables at :root, so a single declaration recolours every bg-primary / text-primary / border-primary utility on the consent page at once, and additionally paints the card surface and body background to match.

  • #89 1942ebb Thanks @aspiers! - Fix two preview-route cache bugs and remove long-stale debug endpoints.

    Affects: Client app developers, Operators

    Client app developers:

    • Preview-route fetch failures no longer poison the shared client-metadata cache. Previously, a failed preview fetch for a client_id with a valid 10-minute entry would overwrite that entry with a 60-second branding-less fallback, silently dropping branding.css on real OAuth flows for up to a minute. The in-memory cache is now only written by real-flow resolution.
    • The auth-service HTML preview pages (/preview/login, /preview/login-otp, /preview/choose-handle, /preview/choose-handle-picker, /preview/recovery, /preview/recovery-otp, and the /preview index) now send Cache-Control: no-store. Without it, a browser refresh could serve a cached page and never ask the server for fresh branding.css, breaking the advertised "edit branding.css, refresh the preview page" workflow.
    • /preview/validate now flags branding.css whose escaped size exceeds the 32 KB injection limit as an error, instead of reporting ok and letting the developer discover later that their CSS was silently dropped on real OAuth flows. Byte counts now match getClientCss()'s measurement (escaped UTF-8).

    Operators:

    • Removed /_internal/debug-grants and /_internal/debug-recent-accounts. These were added as temporary HYPER-270 debugging endpoints with a code comment marking them for removal before PR #21 shipped (v0.2.2); they survived through v0.2.2, v0.3.0, v0.4.0, and the pending v0.5.0. The matching env var EPDS_DEBUG_GRANTS is no longer read.

@hypercerts-release-bot hypercerts-release-bot Bot changed the title chore: release prepare for release v0.5.0 Apr 19, 2026
@vercel

vercel Bot commented Apr 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
epds-demo Ready Ready Preview, Comment Apr 19, 2026 10:22pm

Request Review

@coveralls-official

coveralls-official Bot commented Apr 19, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 24640564770

Coverage remained the same at 36.52%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2027
Covered Lines: 770
Line Coverage: 37.99%
Relevant Branches: 1163
Covered Branches: 395
Branch Coverage: 33.96%
Branches in Coverage %: Yes
Coverage Strength: 3.18 hits per line

💛 - Coveralls

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md
aspiers added a commit that referenced this pull request Apr 19, 2026
The #84 changeset wrote the client-app-dev section as one 280-word
paragraph that listed every route URL inline, and the operator
section as one dense paragraph of its own. Split both into bullets
and drop the route list (the /preview index is the source of
truth), matching the edits that were made directly on the v0.5.0
release PR (#88).

Putting the edits in the changeset file means they survive the
Changesets bot's next regeneration of CHANGELOG.md — without this,
any bot re-run on #88 would revert the CHANGELOG to the old
paragraph form.

Also corrects the workflow description: paste your metadata URL
into the input field on /preview (persisted in the browser, wires
every link), not by hand-constructing ?client_id= query strings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hypercerts-release-bot hypercerts-release-bot Bot changed the title prepare for release v0.5.0 chore: release Apr 19, 2026
@hypercerts-release-bot hypercerts-release-bot Bot changed the title chore: release prepare for release v0.5.0 Apr 19, 2026
The Changesets bot regenerated changeset-release/main from the three
v0.5.0 changesets, which reverted the earlier manual merge of the
client-app-developer and operator subsections in Who-Should-Read.
Both subsections now list the same two entries (the feature + the
fix), so the separate listing adds lines without information. Reapply
the merge as "Client app developers & operators".

A durable fix would live in scripts/changelog-audience-summary.mjs —
that can come later.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@aspiers
aspiers merged commit 362cdd4 into main Apr 19, 2026
9 of 10 checks passed
@aspiers
aspiers deleted the changeset-release/main branch April 19, 2026 22:58
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