• v0.10.0 6206452a59

    v0.10.0
    Some checks failed
    E2E / Playwright against staging (push) Successful in 2m14s
    Check / fmt + clippy + build + tests (push) Successful in 2m18s
    Integration / integration tests (push) Successful in 5m41s
    Build OCI container / Build and push mokosh-server image (push) Has been cancelled
    Stable

    David released this 2026-08-04 14:09:16 +02:00 | 78 commits to main since this release

    Changelog

    6206452 Merge pull request 'Release v0.10.0' (#482) from release/v0.10.0 into main
    2dfc2e2 Merge branch 'main' into release/v0.10.0
    5866bd1 Merge pull request 'refactor(billing): consume dunite-stripe-core (DEV-514)' (#491) from feat/DEV-514-consume-stripe-core into main
    32fb7de refactor(billing): consume dunite-stripe-core for Stripe primitives (DEV-514)
    6613aca build: depend on shared dunite-stripe-core crate (DEV-514)
    962cda3 Merge pull request 'docs: name .env.example, not .env.dev, as the source of .env (PMS-708)' (#490) from docs/PMS-708-env-example-not-env-dev into main
    53aa1b6 docs: refresh quickstart staleness beyond the .env sweep (PMS-708)
    0200532 docs: sweep remaining .env.dev references to .env.example (PMS-708)
    3b47317 docs: correct .env provenance in CLAUDE.md + compose guards (PMS-708)
    756a083 Merge pull request 'feat(billing): payment provider integration for invoice Pay Now (PMS-711)' (#489) from feat/PMS-711-stripe-pay-now into main
    b35e23f docs(billing): record the Pay Now surface + scope boundaries (PMS-711)
    c7ee972 test(billing): Stripe Pay Now webhook paid/refund/abandoned/bad-sig (PMS-711)
    cd50467 feat(billing): wire Stripe webhook + portal Pay Now + invoice email (PMS-711)
    305c8b2 feat(billing): payment-provider trait + Stripe reconciliation core (PMS-711)
    59ffee7 feat(billing): add payment_refunds + payments.currency migration (PMS-711)
    7d8164d Merge pull request 'fix(rls): set the tenant GUC on serving reads of RLS-covered tables (PMS-692)' (#488) from fix/PMS-692-tenant-guc-rls-reads into main
    4a93717 test(rls): serving reads resolve through the tenant GUC under NOBYPASSRLS (PMS-692)
    d54256c ci(rls): gate new bare .pool() serving calls without a SAFETY note (PMS-692)
    dd55704 fix(rls): scope email_intake + SLA-worker reads; drop dead pool accessor (PMS-692)
    ceb759c fix(rls): scope portal/auth/tickets/tenants reads by the tenant GUC (PMS-692)
    16a069d fix(rls): route Search + Attachment services through the tenant GUC (PMS-692)
    38f1870 Merge pull request 'fix(auth): skip the per-request bunyip userinfo round-trip (PMS-723)' (#487) from fix/PMS-713-skip-userinfo-per-request into main
    61f3b5a test(auth): cover the userinfo short-circuit gate (PMS-723)
    914b7fb fix(auth): skip the per-request bunyip userinfo round-trip (PMS-723)
    c147687 Merge pull request 'feat(seed): production per-account PSA demo, gated to production (PMS-710)' (#485) from feat/PMS-710-per-account-psa-seed into main
    383332d Merge branch 'main' into feat/PMS-710-per-account-psa-seed
    3a16f32 Merge pull request 'fix(e2e): make the TOTP 2fa step window-safe to stop /login/2fa stalls' (#486) from fix/e2e-totp-window-race into main
    6748170 fix(e2e): make the TOTP 2fa step window-safe to stop /login/2fa stalls
    2d44993 test(seed): cover the PMS-710 production profile and the gate (PMS-710)
    dcdb64e feat(seed): production per-account PSA demo, gated to production (PMS-710)
    b1ff76b Merge pull request 'style(e2e): separate the login retry comment blocks' (#484) from fix/PMS-721-e2e-login-response-diagnostics into main
    4fad0e7 style(e2e): separate the login retry comment blocks
    b4111ed fix(e2e): log main-frame responses and classify a missing login form
    790a925 Release v0.10.0
    968e7a4 Merge pull request 'feat(auth): make profile names Bunyip-owned and read-only' (#481) from feat/PMS-512-bunyip-owned-profile-names into main
    aee1f64 feat(auth): make profile names Bunyip-owned and read-only
    ff38144 Merge pull request 'chore(ci): run the compiling jobs on the dev runner label' (#480) from chore/PMS-719-ci-dev-runner-label into main
    b098f82 chore(ci): run the compiling jobs on the dev runner label
    38c8945 Merge pull request 'fix(auth): give the OAuth popup a nonce CSP so its script runs' (#479) from fix/PMS-691-oauth-popup-csp-nonce into main
    d17051c fix(auth): give the OAuth popup a nonce CSP so its script runs
    955e151 Merge pull request 'fix(auth): count a failed recovery code against MFA lockout' (#478) from fix/PMS-694-recovery-code-mfa-lockout into main
    54ba114 fix(auth): count a failed recovery code against MFA lockout
    324d3b7 Merge pull request 'fix(billing): lock the invoice row before recomputing amount_paid' (#477) from fix/PMS-695-lock-invoice-on-payment into main
    34548ff fix(billing): lock the invoice row before recomputing amount_paid
    2367217 Merge pull request 'fix(auth): gate the bunyip path on user and tenant status' (#476) from fix/PMS-698-bunyip-principal-gate into main
    12db844 fix(auth): gate the bunyip path on user and tenant status
    3bcfa97 Merge pull request 'fix(notifications): deliver the authored body_html' (#475) from fix/PMS-700-dispatch-body-html into main
    f1a45c9 fix(notifications): deliver the authored body_html
    b68cd71 Merge pull request 'fix(auth): increment attempt counters atomically' (#474) from fix/PMS-693-atomic-mfa-attempt-counter into main
    caeba42 fix(auth): increment attempt counters atomically
    378950d Merge pull request 'fix(notifications): skip dispatch when no template matches' (#473) from fix/PMS-701-drop-context-dump-fallback into main
    9e17079 fix(notifications): skip dispatch when no template matches
    9c68160 Merge pull request 'fix(reports): derive report SELECT aliases from the whitelist' (#472) from fix/PMS-690-report-alias-injection into main
    6773722 fix(reports): derive report SELECT aliases from the whitelist
    8666db4 Merge pull request 'fix(dev): stop the dev stack /ready 503 from Infisical' (#471) from fix/PMS-707-dev-ready-infisical-probe into main
    8fc4606 fix(dev): stop the dev stack /ready 503 from Infisical
    6e0ae4f Merge pull request 'fix(notifications): reseed the 023 templates and report unresolved keys' (#470) from fix/PMS-702-reseed-notification-templates into main
    f646985 fix(notifications): reseed the 023 templates and report unresolved keys
    30cde30 Merge pull request 'fix(rls): complete the fail-closed backstop on 11 deferred tables (PMS-683)' (#467) from fix/PMS-683-rls-tail into main
    be81c4c Merge branch 'main' into fix/PMS-683-rls-tail
    6dce6ab Merge pull request 'fix(ready): bound the readiness DB ping at 3s' (#469) from fix/pms-685-readiness-db-ping-timeout into main
    6bbda8e fix(ready): bound the readiness DB ping at 3s
    e4e8a79 fix(rls): complete the fail-closed backstop on 11 deferred tables

    Downloads