-
v0.3.0
Stablereleased this
2026-06-22 19:54:27 +02:00 | 815 commits to main since this releaseChangelog
2944919Merge pull request 'Release v0.3.0' (#185) from release/v0.3.0 into main
ea039f7Release v0.3.0
876275bMerge pull request 'fix(e2e): surface bunyip login error + stop login-bearing retries (BUNYIP-165)' (#184) from fix/BUNYIP-165-login-error-surface-no-retry into main
50cf786fix(e2e): surface bunyip login error + stop login-bearing projects retrying
5a1c7caMerge pull request 'docs(e2e): step 4 reuse the mokosh-apps OIDC client (BUNYIP-148)' (#183) from docs/bunyip-148-runbook-oidc-client-reuse into main
f7aa167docs(e2e): step 4 - reuse the mokosh-apps OIDC client, not a bunyip-web one
136ad6bMerge pull request 'fix(e2e): bunyip-e2e-bootstrap ON CONFLICT match partial unique index (BUNYIP-161)' (#182) from fix/BUNYIP-161-bootstrap-partial-index-conflict into main
bf5dd18fix(e2e): match the partial unique index in bunyip-e2e-bootstrap upsert
437fabcMerge pull request 'docs(e2e): clarify Infisical password retrieval in the runbook (BUNYIP-148)' (#181) from docs/bunyip-148-e2e-infisical-password into main
42cb25ddocs(e2e): clarify the Infisical password retrieval in the runbook
af13138Merge pull request 'build(oci): ship bunyip-e2e-bootstrap in the bunyip-api runtime image (BUNYIP-156)' (#180) from feat/BUNYIP-156-ship-e2e-bootstrap-binary into main
c096587build(oci): ship bunyip-e2e-bootstrap in the bunyip-api runtime image
ab3daccMerge pull request 'feat(e2e): Playwright E2E suite for bunyip against deployed instances (BUNYIP-148)' (#179) from feat/BUNYIP-148-e2e-playwright-suite into main
689bb9edocs(e2e): add first-time setup runbook to dev-docs/e2e.md
b73a2d8fix(e2e): strip trailing slash on base URLs + tighten consent-form assertion
1370992feat(e2e): Playwright E2E suite for bunyip against deployed instances
0fcb0e0Merge pull request 'chore: Sync the checks and justfile recipes' (#178) from chore/sync-checks-justfile into main
f8a7890chore: Sync the checks and justfile recipes
54b5276Merge pull request 'fix(oidc): clear stale host-only op_session on silent-SSO set path (BUNYIP-146)' (#177) from fix/bunyip-146-op-session-cookie-domain into main
a83ca28test(oidc): pin path+secure equality in op_session_set dual-emit test (BUNYIP-146)
f3223a4fix(oidc): clear stale host-only op_session on silent-SSO set path (BUNYIP-146)
e7aceb2Merge pull request 'feat(events): SSE event bus + browser auto-reconciliation (BUNYIP-145)' (#176) from feat/bunyip-145-sse-event-bus into main
47d5fc9feat(events): SSE event bus + browser auto-reconciliation (BUNYIP-145)
0c808cdMerge pull request 'fix(admin): revoke refresh-tokens on claim-feeding mutations (BUNYIP-144)' (#175) from fix/bunyip-144-revoke-rt-on-claim-mutations into main
aae2c9cfix(admin): revoke refresh-tokens on claim-feeding mutations (BUNYIP-144)
7cfc27bMerge pull request 'feat(ci): cap native check.yml parallelism at nproc/2' (#174) from feat/GOV-10-native-check-nproc-cap into main
990d61afeat(ci): cap native check.yml parallelism at nproc/2
a2f7b4cMerge pull request 'fix(migrations): auto-reconcile BUNYIP-79 in-place-edited checksums at startup' (#173) from fix/bunyip-79-migration-checksum-reconcile into main
4b971c7fix(migrations): auto-reconcile BUNYIP-79 in-place-edited checksums at startup
61681bbMerge pull request 'chore: rename LICENSE.md to LICENSE (BUNYIP-143)' (#171) from chore/rename-license-file into main
9d0ec19chore: rename LICENSE.md to LICENSE
31cde4dMerge pull request 'feat(profile-B): OIDC profile+phone scopes, consent screen, claim emission (BUNYIP-140)' (#170) from feat/bunyip-140-oidc-profile-scopes into main
bf7a8fbfeat(profile-B): OIDC profile+phone scopes, consent screen, claim emission (BUNYIP-140)
9133dc9Merge pull request 'feat(profile-A): users.first_name/last_name/phone columns + Settings UI (BUNYIP-139)' (#169) from feat/bunyip-139-user-profile-fields into main
c9b86ebfeat(profile-A): users.first_name/last_name/phone columns + Settings UI (BUNYIP-139)
05c728fMerge pull request 'feat(oidc): register lets-chat-psa as confidential OIDC client (LC-22)' (#168) from feat/lc-22-register-lets-chat-oidc-client into main
c65e640feat(oidc): register lets-chat-psa as confidential OIDC client (LC-22)
0efcf6eMerge pull request 'fix(dev): create external network in ensure-env for clean clone' (#167) from fix/pre-commit-clean-clone into main
7f134ffMerge branch 'main' into fix/pre-commit-clean-clone
4172b80Merge pull request 'fix(admin): expose API-editable application fields and reorder in the edit/list UI' (#159) from fix/BUNYIP-121-application-edit-fields into main
907882efix(admin): expose API-editable application fields and reorder in the edit/list UI
d757a96fix(dev): create external network in ensure-env for clean clone
7339efeMerge pull request 'feat(auth): trusted devices to skip TOTP + sensitive-op re-prompt' (#166) from feat/bunyip-138-trusted-devices into main
2f1ba44feat(auth): trusted devices to skip TOTP + sensitive-op re-prompt
abf7d4dMerge pull request 'feat(auth): session hardening - panel, role-change revoke, admin TTL/idle' (#165) from feat/bunyip-137-session-hardening into main
8d1dd4afix(auth): clamp admin refresh deadline to the stricter window on rotation
c1f7892feat(auth): session hardening - panel, role-change revoke, admin TTL/idle
2f718afMerge pull request 'feat(web): add public /roadmap coming-soon page' (#164) from feat/bunyip-136-roadmap-page into main
bd4fbabfeat(web): add public /roadmap coming-soon page
6f6aef1Merge pull request 'fix(settings): wire up resend verification email control' (#161) from fix/BUNYIP-110-resend-verification-email into main
bbc4781Merge branch 'main' into fix/BUNYIP-110-resend-verification-email
22ee93cMerge pull request 'fix(admin): allow editing and resending a sent feedback response' (#160) from fix/BUNYIP-123-feedback-response-edit-resend into main
3fb428eMerge branch 'main' into fix/BUNYIP-123-feedback-response-edit-resend
023caa3Merge pull request 'fix(admin): make the Memberships surface editable with grant/revoke' (#158) from fix/BUNYIP-118-membership-edit-route into main
53d641fMerge branch 'main' into fix/BUNYIP-118-membership-edit-route
cd3f494Merge pull request 'feat(admin): add reactivation affordance + endpoint for suspended users' (#157) from feat/BUNYIP-120-admin-user-reactivate into main
c8e2416Merge branch 'main' into feat/BUNYIP-120-admin-user-reactivate
6cafb9bMerge pull request 'fix(api): drop permissive CORS allowed_origin_fn (origin reflection)' (#156) from fix/BUNYIP-124-cors-origin-reflection into main
0755becMerge branch 'main' into fix/BUNYIP-124-cors-origin-reflection
0d612eaMerge pull request 'feat(admin): edit email, force-verify, and clear 2FA on user detail' (#155) from feat/BUNYIP-119-admin-user-edit-email-2fa into main
e9b2914Merge branch 'main' into feat/BUNYIP-119-admin-user-edit-email-2fa
4d985a3Merge pull request 'fix(admin): validate tier-settings slots/trial input and surface save errors' (#154) from fix/BUNYIP-111-tier-settings-validation into main
868f603Merge branch 'main' into fix/BUNYIP-111-tier-settings-validation
4da02c7Merge pull request 'fix(web): Stripe key format, change-email/2FA edge, feedback-respond cap (BUNYIP-117)' (#163) from fix/web-edge-117-validation-and-error-surfacing into main
3246e38Merge pull request 'fix(web): edge validation hardening + tier Stripe IDs (BUNYIP-112/113/115/122)' (#162) from fix/web-validation-bundle into main
b4dcaa0fix(web): Stripe key format, change-email/2FA edge, feedback-respond cap (BUNYIP-117)
16b8591fix(web): edge validation hardening + tier Stripe IDs (BUNYIP-112/113/115/122)
1a32883fix(settings): wire up resend verification email control
c4d71c7fix(admin): allow editing and resending a sent feedback response
276f009fix(admin): make the Memberships surface editable with grant/revoke
acce4f9feat(admin): add reactivation affordance + endpoint for suspended users
ab3c397fix(api): drop permissive CORS allowed_origin_fn (origin reflection)
d63840cfeat(admin): edit email, force-verify, and clear 2FA on user detail
59c5b49fix(admin): validate tier-settings slots/trial input and surface save errors
19f4749Merge pull request 'fix(admin): reject unknown roles in the user-role change handler (BUNYIP-114)' (#153) from fix/BUNYIP-114-role-enum-validation into main
fb44e45fix(admin): reject unknown roles in the user-role change handler
f3f7746Merge pull request 'fix(settings): require a non-empty password to delete an account (BUNYIP-116)' (#152) from fix/BUNYIP-116-delete-account-require-password into main
28283ecfix(settings): require a non-empty password to delete an account
a8463f9Merge pull request 'fix(feedback): record originating page via ?from= on the feedback launcher (BUNYIP-104)' (#150) from fix/BUNYIP-104-feedback-from into main
ff2951aMerge branch 'main' into fix/BUNYIP-104-feedback-from
24adae8Merge pull request 'fix(admin): confirm before role change and application-group delete (BUNYIP-109)' (#149) from fix/BUNYIP-109-admin-confirm into main
31d0f46fix(feedback): record originating page via ?from= on the feedback launcher (BUNYIP-104)
a84d568fix(admin): confirm before role change and application-group delete (BUNYIP-109)
88648c1Merge pull request 'fix(dashboard): badge admins as Admin instead of No Membership (BUNYIP-108)' (#148) from fix/BUNYIP-108-membership-badge-admin into main
4e43b22Merge branch 'main' into fix/BUNYIP-108-membership-badge-admin
26f5c21fix(dashboard): badge admins as "Admin" instead of "No Membership" (BUNYIP-108)
93377ecMerge pull request 'fix(billing): compare Stripe webhook signature in constant time (BUNYIP-107)' (#147) from fix/BUNYIP-107-webhook-constant-time into main
c943316fix(billing): compare Stripe webhook signature in constant time (BUNYIP-107)
e79b02eMerge pull request 'feat(downloads): per-card download affordance, retire Downloads page [BUNYIP-100 2/2]' (#146) from feat/bunyip-100-unified-downloads into main
4f68ac3Merge remote-tracking branch 'origin/main' into feat/bunyip-100-unified-downloads
f1a1d21feat(downloads): per-card download affordance, retire Downloads page
6560b74Merge pull request 'feat(groups): application groups (data, admin, user grouping) [BUNYIP-100 1/2]' (#145) from feat/bunyip-100-application-groups into main
0c39e6aMerge branch 'main' into feat/bunyip-100-application-groups
90c982bMerge pull request 'chore: gitignore the local-only "For AI/" working dir' (#144) from chore/ignore-for-ai-dir into main
570f8daMerge branch 'main' into chore/ignore-for-ai-dir
5c17cd2Merge remote-tracking branch 'origin/main' into feat/bunyip-100-application-groups
ecc3912feat(groups): application groups (data, admin management, user grouping)
070aa73Merge pull request 'fix(bunyip-101): use post-9c082eb hashes (script had pre-edit values inverted)' (#143) from ops/bunyip-101-reconcile-migration-checksums into main
e6603efchore: gitignore the local-only "For AI/" working dir
ff396b8fix(bunyip-101): use post-9c082eb hashes (script had pre-edit values inverted)
e23b1d8Merge pull request 'feat(admin): show Hub/Binary/OCI surface tags on applications' (#142) from feat/bunyip-99-admin-surface-tags into main
51e812cMerge branch 'main' into feat/bunyip-99-admin-surface-tags
0ebd98bfeat(admin): show Hub/Binary/OCI surface tags on applications
d6ea0dcMerge pull request 'ops(bunyip-101): script to reconcile _sqlx_migrations after in-place edits' (#141) from ops/bunyip-101-reconcile-migration-checksums into main
0bece53ops(bunyip-101): script to reconcile _sqlx_migrations after in-place edits
ef60351Merge pull request 'chore: Sync .gitignore with other repos' (#140) from chore/gitignore into main
3d8802cMerge branch 'main' into chore/gitignore
3805e24chore: Sync .gitignore with other repos
b93b455Merge pull request 'feat(justfile): add dev-clean / dev-clean-all teardown recipes' (#139) from feat/dev-clean-recipes into main
469df5dfeat(justfile): add dev-clean / dev-clean-all teardown recipes
0818659Merge pull request 'fix(bunyip-domain): correct repository SQL binding, silent no-ops, and dead methods' (#136) from fix/bunyip-76 into main
8021d5dfix(bunyip-domain): correct repository SQL binding, silent no-ops, and dead methods
a48fd69Merge pull request 'fix(migrations): close data-integrity gaps and gate version collisions' (#135) from fix/bunyip-79 into main
69f657fMerge branch 'main' into fix/bunyip-79
e4c835fMerge pull request 'fix(web): handler correctness, dedup helpers, drop dead web types' (#133) from fix/bunyip-78 into main
fdaa024Merge branch 'main' into fix/bunyip-78
9c082ebfix(migrations): close data-integrity gaps and gate version collisions
415eea1Merge pull request 'chore: add pre-commit hook recipes' (#138) from chore/pre-commit-hooks into main
41f4170chore: add install-hooks and pre-commit just recipes
868c1f2Merge pull request 'chore: Add JetBrains .idea preferences' (#137) from chore/add-jetbrains-idea into main
e628821chore: Add JetBrains .idea preferences
e419930Merge pull request 'fix(feedback): raise hero pill contrast to WCAG AA' (#134) from fix/bunyip-97 into main
bc99793Merge branch 'main' into fix/bunyip-97
b2d7653Merge pull request 'fix(bunyip-api): handler correctness for webhooks, admin, auth, dedup' (#132) from fix/bunyip-77 into main
f8c22f2Merge branch 'main' into fix/bunyip-77
6709e70Merge pull request 'fix(admin-tier): count admin-granted lifetimes toward slot usage' (#131) from fix/bunyip-96 into main
4d4cbd1Merge branch 'main' into fix/bunyip-96
e37a93eMerge pull request 'fix(auth): harden middleware and auto-ban against IP spoofing and map growth' (#130) from fix/bunyip-72 into main
fe1542dfix(feedback): raise hero pill contrast to WCAG AA
7bee494fix(web): handler correctness, dedup helpers, drop dead web types
a077d4afix(bunyip-api): handler correctness for webhooks, admin, auth, dedup
836b478fix(admin-tier): count admin-granted lifetimes toward slot usage
54b01affix(auth): harden middleware and auto-ban against IP spoofing and map growth
7dd2151Merge pull request 'fix(auth): validate token issuer, drop 2FA email gate, unify email-change SQL' (#129) from fix/bunyip-75-token-issuer into main
da8552cfix(auth): validate token issuer, drop 2FA email gate, unify email-change SQL
32c4c39Merge pull request 'feat(oidc): /token mints configured tenant claim on at+jwt and id_token (BUNYIP-63)' (#128) from feat/bunyip-63-token-mint-emits-tenant-claim into main
3f785d3Merge pull request 'feat(oidc): /authorize tenant gate + picker (BUNYIP-62)' (#127) from feat/bunyip-62-authorize-tenant-gate-and-picker into main
1dfb600Merge pull request 'feat(oidc): add oauth_client_user_tenants assignments + admin API' (#126) from feat/bunyip-61-oauth-client-user-tenants into main
41a7648feat(oidc): /token mints configured tenant claim on at+jwt and id_token (BUNYIP-63)
2e4bf6cfeat(oidc): /authorize tenant gate + picker (BUNYIP-62)
f3969ecfeat(oidc): add oauth_client_user_tenants assignments + admin API
b4e0406Merge pull request 'fix(layout): cap visible toasts at 5 to bound the toast-root column' (#121) from fix/cap-toast-stack-at-5 into main
8ff1b79fix(layout): cap visible toasts at 5 to bound the toast-root column
a3aa9d1Merge pull request 'fix(admin-feedback): mask email on detail + no-email indicator + await reply email send' (#116) from fix/feedback-detail-mask-email-and-await-send into main
425a531fix(admin-feedback): mask email on detail + no-email indicator + await reply email send
e056efbMerge pull request 'feat(admin-feedback): per-row Archive action + Reply button discoverability' (#115) from feat/feedback-admin-archive-and-reply-button into main
f071797feat(admin-feedback): per-row Archive action + Reply button discoverability
4810e52Merge pull request 'feat(admin-feedback): spam filter + mark/unmark spam + delete + Close-into-Closed-tab' (#114) from feat/feedback-admin-ops-spam-and-delete into main
3818b2fMerge remote-tracking branch 'origin/main' into feat/feedback-admin-ops-spam-and-delete
d26756cMerge pull request 'fix(membership): collapse 'Lifetime x3' stutter on the lifetime card' (#113) from fix/lifetime-card-stutter into main
ef18d93feat(admin-feedback): spam filter + mark/unmark spam + delete + Close-into-Closed-tab
1dd72d0fix(membership): collapse 'Lifetime x3' stutter on the lifetime card
d2df1ecMerge pull request 'feat(feedback): magic-byte MIME validation + dim bomb cap + proxy hardening' (#112) from feat/feedback-attachment-security-hardening into main
9ab3655Merge pull request 'feat(feedback): attachments upload + admin thumbnails + BFF download proxy' (#111) from feat/feedback-attachments-upload-and-download into main
935f79bfeat(feedback): magic-byte MIME validation + dim bomb cap + proxy hardening
e703f99Merge pull request 'feat(webhook): Stripe event_id idempotency on receipt' (#110) from feat/stripe-webhook-idempotency into main
3009e98Merge pull request 'feat(audit): emit auth_refresh_reuse_detected on refresh-token replay' (#109) from feat/audit-refresh-reuse-event into main
577802eMerge pull request 'fix: harden three unwrap/expect panic surfaces in request paths' (#108) from fix/harden-unwrap-panic-surfaces into main
708abc0Merge pull request 'feat(feedback): admin detail subpage + respond + archive/restore' (#107) from feat/feedback-admin-detail-and-archive into main
dc84d33Merge pull request 'feat(feedback): thread page_path through form + display in admin row + CSV export' (#106) from feat/feedback-page-path-and-csv-export into main
d094513Merge pull request 'fix(layout): restore floating feedback launcher, drop top-bar icon' (#105) from fix/feedback-widget-restore-floating into main
b9ccc29Merge pull request 'fix(stripe): add request timeout to raw reqwest calls into Stripe API' (#104) from fix/stripe-client-timeout into main
007e86cfeat(webhook): Stripe event_id idempotency on receipt
112f7cefeat(audit): emit auth_refresh_reuse_detected on refresh-token replay
29939affix: harden three unwrap/expect panic surfaces in request paths
4406f1dfeat(feedback): attachments upload + admin thumbnails + BFF download proxy
00f2a45feat(feedback): admin detail subpage + respond + archive/restore
dc54130feat(feedback): thread page_path through form + display in admin row + CSV export
0655b6dfix(layout): restore floating feedback launcher, drop top-bar icon
5dea7f2fix(stripe): add request timeout to raw reqwest calls into Stripe API
68a6822Merge pull request 'docs: add 2026-06-06 platform audit to dev-docs/audits' (#103) from docs/add-platform-audit-2026-06-06 into main
2423431docs: add 2026-06-06 platform audit to dev-docs/audits
630e1dbMerge pull request 'fix(admin-feedback): show name + masked email on each row + toggle Reviewed' (#102) from fix/feedback-admin-row into main
70191f4fix(admin-feedback): show name + masked email on each row + toggle Reviewed
a8300a9Merge pull request 'fix(feedback): repeated tags decode + inline error instead of bare 422 page' (#101) from fix/feedback-form-tags-and-inline-error into main
2cb8b99fix(feedback): repeated tags decode + inline error instead of bare 422 page
8d34083Merge pull request 'feat(legal): single POLICY_LAST_UPDATED constant + refresh stale "January 2025"' (#100) from feat/bunyip-upgrade-07-legal-dates into main
7f21783Merge pull request 'feat(2fa): preserve QR + manual key when verification code is wrong' (#99) from feat/bunyip-upgrade-04-2fa-preserve into main
bade61fMerge pull request 'feat(settings): suppress browser autofill on email / delete-account forms' (#98) from feat/bunyip-upgrade-02-settings-hygiene into main
a118c02Merge pull request 'feat(membership): consolidate plan name + lifetime card shape + merge with billing' (#97) from feat/bunyip-upgrade-01-membership-plan into main
27031b5Merge pull request 'chore(ci): shrink check.yml disk footprint to avoid runner ENOSPC' (#96) from chore/check-ci-disk-footprint into main
e026576chore(ci): shrink check.yml disk footprint to avoid runner ENOSPC
d7288baMerge pull request 'feat(theme): make the high-contrast toggle visibly transform the page in light mode' (#95) from feat/bunyip-upgrade-08-high-contrast into main
6632cecMerge pull request 'feat(layout): dynamic top-bar title across dashboard / admin pages' (#94) from feat/bunyip-upgrade-03-topbar-title into main
0860504Merge pull request 'feat(layout): replace floating feedback launcher with a top-bar icon button' (#93) from feat/bunyip-upgrade-06-feedback-top-bar into main
3a0cd08Merge pull request 'feat(layout): app-wide toast system + Copy button confirmation' (#92) from feat/bunyip-upgrade-05-toast-system into main
2d45ba6feat(legal): single POLICY_LAST_UPDATED constant + refresh stale "January 2025"
ec77829feat(2fa): preserve QR + manual key when verification code is wrong
296ea05feat(settings): suppress browser autofill on email / delete-account forms
b6df86efeat(membership): consolidate plan name + lifetime card shape + merge with billing
d7ad944feat(theme): make the high-contrast toggle visibly transform the page in light mode
91a1396feat(layout): dynamic top-bar title across dashboard / admin pages
99921d3feat(layout): replace floating feedback launcher with a top-bar icon button
5d5babefeat(layout): app-wide toast system + Copy button confirmation
cccd66aMerge pull request 'fix(oidc): extract JwtService via app_data instead of web::Data param' (#91) from fix/oidc-silent-sso-via-access-token into main
782caa3fix(oidc): extract JwtService via app_data instead of web::Data param
e28ce7bMerge pull request 'fix(oidc): silent SSO also consumes refresh_token cookie on /authorize' (#90) from fix/oidc-silent-sso-via-access-token into main
6b29275fix(oidc): silent SSO also consumes refresh_token cookie on /authorize
2571300Merge pull request 'fix(oidc): silent SSO on /authorize via hub access_token cookie' (#89) from fix/oidc-silent-sso-via-access-token into main
ab463fdfix(oidc): silent SSO on /authorize via hub access_token cookie
9323932Merge pull request 'fix(web): enable reqwest stream feature for bunyip-web' (#88) from fix/bunyip-web-reqwest-stream into main
2a71b2afix(web): enable reqwest "stream" feature for bunyip-web
8423bbaMerge pull request 'fix(dev): set default-run so cargo run resolves to bunyip-api' (#87) from fix/bunyip-api-default-run into main
9caf17cfix(dev): set default-run so cargo run resolves to the bunyip-api server
a7747d3Merge pull request 'feat(oidc): mirror bunyip_role into the ID token (PMS-158)' (#86) from fix/bunyip-emit-role-claim into main
0e3e9aefeat(oidc): mirror bunyip_role into the ID token (PMS-158)
a17d670Merge pull request 'fix(web): relay rotated session cookie on admin redirects (BUNYIP-67)' (#85) from fix/bunyip-67-admin-redirect-cookies into main
9b9c328fix(web): relay rotated session cookie on admin redirects (BUNYIP-67)
30ebf1cMerge pull request 'feat(api): add bunyip-e2e-bootstrap test-account seeder (BUNYIP-52)' (#84) from feat/bunyip-52-e2e-bootstrap-binary into main
f9e51d6docs(api): note ENVIRONMENT-vs-DATABASE_URL residual risk on e2e guard (BUNYIP-52)
aad41defeat(api): add bunyip-e2e-bootstrap test-account seeder (BUNYIP-52)
42df032Merge pull request 'feat(web): wire the delete-application admin UI (BUNYIP-65)' (#83) from feat/bunyip-65-delete-applications into main
2514e92fix(web): relay rotated session cookie on delete-application redirect (BUNYIP-65)
2d34eb5feat(web): wire the delete-application admin UI (BUNYIP-65)
b5498dcMerge pull request 'fix(web): proxy binary downloads through the BFF (BUNYIP-64)' (#82) from fix/bunyip-64-download-asset-bff-proxy into main
20affa4fix(web): forward status + Content-Length on download proxy (BUNYIP-64)
1e0c3eafix(web): proxy binary downloads through the BFF (BUNYIP-64)
13e523bMerge pull request 'feat(oidc): emit bunyip_role claim in at+jwt for resource servers (BUNYIP-66)' (#81) from feat/bunyip-66-emit-bunyip-role-claim into main
bed0c47fix(oidc): default bunyip_role on deserialize for rolling-deploy compat (BUNYIP-66)
9a703a3feat(oidc): emit bunyip_role claim in at+jwt for resource servers (BUNYIP-66)
3e96796Merge pull request 'fix(oidc): clear stale op_session cookie on authorize when sid -> no row' (#80) from fix/stale-oidc-cookie-renders-404 into main
df379defix(oidc): clear stale op_session cookie on authorize when sid -> no row
561bea9Merge pull request 'BUNYIP-59: immutable release tags, Cargo.lock sync, tag-collision guard' (#79) from fix/bunyip-59-release-hygiene into main
881e1c1fix(release): immutable version tags, lockfile sync, tag-collision guardDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)