-
v0.4.0
Stablereleased this
2026-06-24 10:53:56 +02:00 | 751 commits to main since this releaseChangelog
4101161Merge pull request 'Release v0.4.0' (#214) from release/v0.4.0 into main
9cb932eRelease v0.4.0
791147eMerge pull request 'feat(stripe): auto-bootstrap default product on first config save (BUNYIP-189)' (#212) from feat/BUNYIP-189-auto-bootstrap-product into main
4ad0524Merge pull request 'fix(membership): surface checkout errors as a flash banner (BUNYIP-187)' (#211) from fix/BUNYIP-187-surface-checkout-errors into main
a9cc08cMerge pull request 'fix/BUNYIP-188-cors-origin-comma-list' (#210) from fix/BUNYIP-188-cors-origin-comma-list into main
fa1cb5afeat(stripe): auto-bootstrap default product on first config save (BUNYIP-189)
46e90e6fix(membership): surface checkout errors as a flash banner (BUNYIP-187)
7415facchore: cargo fmt
ca54fb9fix(stripe): split CORS_ORIGIN on comma for success_url fallback (BUNYIP-188)
ad06e7aMerge pull request 'docs(stripe): document the app-tagged product/price checkout prerequisite (BUNYIP-175)' (#209) from docs/BUNYIP-175-tagged-product-step into main
8f69fc1docs(stripe): document the app-tagged product/price checkout prerequisite (BUNYIP-175)
1410ffaMerge pull request 'fix(dev): pass Stripe checkout redirect URLs to the api on dev-sso (BUNYIP-175)' (#208) from fix/BUNYIP-175-dev-sso-checkout-urls into main
ff970ccfix(dev): pass STRIPE_SUCCESS_URL + STRIPE_CANCEL_URL to api (BUNYIP-175)
44b9befMerge pull request 'fix(dev): pass Stripe test-mode keys to the api container (BUNYIP-175)' (#207) from fix/BUNYIP-175-compose-pass-stripe-keys into main
85052b1fix(dev): pass STRIPE_SECRET_KEY + STRIPE_WEBHOOK_SECRET to api (BUNYIP-175)
3f8a9ddMerge pull request 'docs(stripe): document test-mode subscription testing (BUNYIP-175)' (#206) from docs/BUNYIP-175-stripe-test-mode into main
b5c0ab7docs(stripe): document test-mode subscription testing (BUNYIP-175)
5bb6e28Merge pull request 'fix(web): 404 fallback returns a real 404, not a soft-404 200 (BUNYIP-186)' (#205) from fix/BUNYIP-186-not-found-404-status into main
ad81fa8fix(web): 404 fallback returns a real 404, not a soft-404 200
af0892bMerge pull request 'fix(e2e): hard + body-validate the hub /healthz probe (BUNYIP-185)' (#204) from fix/BUNYIP-185-hub-healthz-hard-probe into main
3d9acc6fix(e2e): hard + body-validate the hub /healthz probe (BUNYIP-185)
12012f3Merge pull request 'feat(e2e): /e2e-bootstrapped readiness endpoint + skip-when-unseeded gate (BUNYIP-163)' (#203) from feat/BUNYIP-163-e2e-bootstrapped-gate into main
b1475e1feat(e2e): /e2e-bootstrapped readiness endpoint + skip-when-unseeded gate
b1c8bffMerge pull request 'feat(web): add /healthz liveness endpoint for e2e + monitoring (BUNYIP-149)' (#202) from feat/BUNYIP-149-web-healthz into main
2432d8efeat(web): add /healthz liveness endpoint + wire it into the e2e gate
4c8216aMerge pull request 'feat(settings): paginate the sessions and trusted-device lists (BUNYIP-177)' (#200) from feat/BUNYIP-177-paginate-sessions-devices into main
bf49cbaMerge origin/main into feat/BUNYIP-177-paginate-sessions-devices
3fa1357Merge pull request 'test(e2e): accept both paginated and legacy session-list shapes' (#201) from fix/BUNYIP-183-sessions-e2e-shape-transition into main
96c1534fix(settings): widen pagination offset to i64 + un-garble the pager doc
61ee862test(e2e): accept both paginated and legacy session-list shapes
f6637ddfeat(settings): paginate the sessions and trusted-device lists
8472e29Merge pull request 'test(e2e): verify the /settings renderer fix by un-fixme'ing profile + sessions (BUNYIP-176)' (#198) from fix/BUNYIP-176-settings-ci-crash into main
ff0c04cfix(e2e): unwrap the success envelope in the sessions assertion
427084efix(e2e): assert profile + sessions via request-context, not a /settings render
9472ebdfix(e2e): block the FontAwesome kit on /settings (kills the headless renderer)
0c0b370test(e2e): un-fixme profile + sessions to verify the /settings renderer fix
5a811bcMerge pull request 'fix/BUNYIP-148-serial-project-ordering' (#197) from fix/BUNYIP-148-serial-project-ordering into main
2c0ad13chore(e2e): fixme profile + sessions until /settings renderer crash is rooted (BUNYIP-148)
9c56dcffix(e2e): --disable-gpu + --no-sandbox to stop the /settings renderer crash (BUNYIP-148)
6f7ba14fix(e2e): goto /settings with waitUntil:'commit' so the load-stage race fails diagnosably (BUNYIP-148)
9c0aa9ffix(e2e): serialise account-ui before api to stop the project-switch chromium relaunch (BUNYIP-148)
a865c7echore(e2e): TEMP pw:browser diagnostic to capture the /settings browser-process death reason
dadf184fix(e2e): run full chromium (channel: chromium), not headless-shell, for heavy pages
0407e4ffix(e2e): --disable-dev-shm-usage (browser crash on /settings) + DOM-set profile fields
34abe6fMerge pull request 'fix(e2e): fixme consent-screen + diagnose the /settings page-close (BUNYIP-148)' (#195) from fix/BUNYIP-148-account-ui-and-consent into main
d067214fix(e2e): fixme the consent-screen spec + diagnose the /settings page-close
8f6611eMerge pull request 'fix(e2e): set login fields via the DOM - Playwright fill() no-ops on the CI runner (BUNYIP-168)' (#194) from fix/BUNYIP-168-dom-set-login-fields into main
5266cd2fix(e2e): set login fields via the DOM (Playwright fill() no-ops on the CI runner)
c6196c8Merge pull request 'chore(e2e): log the login page the runner loads (BUNYIP-168 diag)' (#193) from chore/BUNYIP-168-log-runner-login-page into main
ba0ffdachore(e2e): log the login page the runner actually loads (BUNYIP-168 diag)
488be89Merge pull request 'chore(e2e): remove BUNYIP-167 diagnostics + make blockLiveReload work via addInitScript (BUNYIP-168)' (#192) from chore/BUNYIP-167-remove-temp-diagnostics into main
94ad872chore(e2e): remove BUNYIP-167 diagnostics + make blockLiveReload actually work
9dd6f38Merge pull request 'fix(e2e): block the SSE reload that wipes the login form (BUNYIP-168)' (#191) from fix/BUNYIP-168-block-sse-reload into main
2ee03b8fix(e2e): block the SSE reload that wipes the login form (the real root cause)
dcfc92bMerge pull request 'fix(e2e): robustly fill the login form - it was posting empty credentials (BUNYIP-168)' (#190) from fix/BUNYIP-168-login-fill-empty into main
f24fac8fix(e2e): robustly fill the login form (it was posting empty email+password)
19b1006Merge pull request 'chore(e2e): log the actual /login POST to pin the rejection (BUNYIP-167)' (#189) from chore/BUNYIP-167-login-wire-diagnostic into main
35e71dachore(e2e): log the actual /login POST (fields + headers + response)
fa25be3Merge pull request 'chore(e2e): fingerprint resolved-config diagnostic to dodge secret masking (BUNYIP-167)' (#188) from chore/BUNYIP-167-fingerprint-masked-inputs into main
2d09adachore(e2e): fingerprint the resolved-config diagnostic to dodge secret masking
ea165dcMerge pull request 'chore(e2e): log resolved suite inputs to diagnose login mismatch (BUNYIP-167)' (#187) from chore/BUNYIP-167-log-resolved-config into main
6128680chore(e2e): log resolved suite inputs to diagnose the login mismatch
2814049Merge pull request 'fix(e2e): trim bootstrap password before hashing (BUNYIP-166)' (#186) from fix/BUNYIP-166-bootstrap-trim-password into main
7c4ac02fix(e2e): trim the bootstrap password before hashing (whitespace login mismatch)Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)