Skip to content

Epic: v0.19 the right choice today #385

Closed
35 of 36 issues completed
Closed

Description

@Bccorb

Goal

Make what Seamless Auth already does trustworthy and findable, and fix what strangers trip on.

API 0.19.0 shipped on 2026-10-18 as the security release. The rest of this milestone ships as 0.19.x patch and minor releases, and the milestone closes when the criteria below are met.

Scope

Sizes: S under a day, M one to three days, L about a week. Must-have items gate the tag; stretch items ship in v0.19 if ready and do not block it.

1. Hygiene (first)

2. Security and safety fixes

3. Adopter fixes

4. First-try quickstart (closes #334)

5. Honest docs

6. Choosing Seamless

Stretch

Moved out

Release criteria

Release notes outline

  1. Security: two advisories fixed and two older fixed advisories disclosed; fail-closed response validation; development mode refused on public hosts; stricter token checks; a warning when secrets are shared
  2. Never stranded: the last admin and a user's last sign-in method can no longer be removed
  3. Easier first run: first admin without logs, templates on current SDKs, the console /config.js fix, NodeNext types
  4. Honest documentation: public docs repository, security posture and threat model, production checklist, per-instance limits, image verification, FIDO self-validation results
  5. Choosing Seamless: Auth0 and Keycloak comparisons with when not to use Seamless, the license pledge and governance
  6. Breaking (minor under 0.x): the React web binding is cookie transport only; development mode settings refuse to boot outside localhost

Activity

  1. added this to the v0.19 milestone on Oct 13, 2026
  2. added
    P1Security work outside the FIDO2 track
    easyServes the easy-to-integrate promise
    epicTracks a release or a large body of work
    v0.19Targets the v0.19 release
    on Oct 13, 2026
  3. added theissue type on Oct 13, 2026
  4. 20 remaining items

  5. Bccorb commented on Oct 20, 2026

    @Bccorb
    ContributorAuthor

    Phase 4: clean machine quickstart runs (2026-10-20)

    The Self-Hosted Quickstart as written, with the published seamless-cli 0.24.0: npx seamless-cli init my-app --local --yes --email=..., docker compose up, then signing in as the first admin through the app's /auth routes (as the browser does), with the code from seamless owner-code. Script and workflow: fells-code/seamless-cli#288.

    Phase (seconds) Linux x64, clean Linux arm64, clean macOS arm64, warm
    Fetch the CLI with npx 3 2 3
    init 2 1 2
    docker compose up (pull, build, start) 53 41 20
    Services answering 4 4 2
    Owner signed in through /auth 1 1 2
    Total, to an admin session 63 50 29
    • Linux: fresh GitHub runners (ubuntu-latest, ubuntu-24.04-arm), 4 CPUs, Node 22, Docker 28.0.4. No npm cache and no Docker images.
    • macOS: a 16-CPU Apple Silicon Mac, Node 24, Docker 29.8.2. A fresh directory and npm cache, but seamless-auth-api:v0.19.1 and postgres:18 were already cached, so their pull time is not included. GitHub's macOS runners cannot run Docker, so a fully clean macOS run needs a Mac without those images.
    • Every run ended with the owner holding admin:write, with no container logs read.
    • Found: on Linux, the api starter's dev container runs as root over the bind-mounted api/ and writes api/logs/app.log as root. The user then cannot delete their own project without sudo. Tracked as a follow-up for the templates and CLI.

    The human steps (reading the output, opening the browser, typing the code) are not timed.

  6. Bccorb commented on Oct 21, 2026

    @Bccorb
    ContributorAuthor

    Phase 7: release criteria, checked 2026-10-21

    Criterion Status Evidence
    No open P0 or P1 in the v0.19 milestone Not yet Open P1s: #396 (FIDO self-validation, the last step), fells-code/seamless-auth-docs#112 (repository is now public; close after the site deploy check), fells-code/seamless-glance#100, #101, #102 (Glance, kept in v0.19 by decision), and the epics #385, #334, #155 (#155 stays open for #397). #463, found during Phase 6, is fixed and closed.
    Private findings fixed and published with 0.19.0; 0.8.0 advisories published Done GHSA-9jg2-jjqq-3346 and GHSA-66gq-4pwg-33jq (patched 0.19.0); GHSA-2r8w-h4h9-jw8p and GHSA-7f64-r335-j842 (patched 0.8.0).
    openapi.json and adapter-manifest.json match the package version, enforced in CI Done #440; tests/unit/openapi/generatedContract.spec.ts fails on drift, and the version step regenerates both.
    Clean macOS and Linux: seamless init to first admin, first try, no logs Done Phase 4 comment above (Linux x64 63s, arm64 50s, macOS 29s warm); fells-code/seamless-cli#275 closed.
    Released: API with fixed console, server adapters with #214, types with #95, react with #177 and #178, CLI with #275, templates on current SDKs; docs matrix matches Done, matrix PR open API 0.19.3 (console = dashboard v0.10.1), core 0.21.1 / express 0.21.0 / fastify 0.12.0 / nextjs 0.5.1, types 0.29.0, client 0.7.1 / react 0.18.1 / react-native 0.3.3, CLI 0.25.1 (pins API v0.19.3, dashboard v0.10.1, templates v0.20.2), templates v0.20.2. Matrix: fells-code/seamless-auth-docs#132 (check:matrix clean once npm serves CLI 0.25.1).
    Public docs site: repository public, security page accurate, production checklist and pledge live, Auth0 and Keycloak comparisons live and dated Done except the deploy check Repository is public. Security posture page (docs#120, updated in docs#129 and docs#131), production checklist (docs#121), pledge and governance (.github#4, docs#123), Auth0 (docs#124) and Keycloak (docs#126), sources checked 2026-10-20.
    FIDO self-validation results published Pending #396, the last step of v0.19.
    GitHub release notes for each package and a docs announcement Release notes done, announcement in review Changesets wrote the GitHub release for every package above. Announcement: reference/release-v0-19 in fells-code/seamless-auth-docs#132.

    Found and fixed during Phase 6 and 7

    Stretch

  7. Bccorb commented on Oct 21, 2026

    @Bccorb
    ContributorAuthor

    v0.19 is complete. Release criteria and evidence are in the Phase 7 comment above; since then #396 is closed (FIDO self-validation results published at https://docs.seamlessauth.com/understand/fido-self-validation/, 159 passed, 0 failed), fells-code/seamless-auth-docs#112 is closed, and Glance moved out of the milestone. #155 stays open for #397 (v1.0). Open follow-ups: fells-code/seamless-auth-docs#128 and #130 await sign-off, fells-code/seamless-cli#213 awaits the live tenant check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Security work outside the FIDO2 trackeasyServes the easy-to-integrate promiseepicTracks a release or a large body of workv0.19Targets the v0.19 release

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions