v2026.04.23.1
What's Changed
Internal
- Fix CheckoutController#show timeout: eager-load cart product associations by @gumclaw in #4660
- Remove Mongo mirroring and risk queue code by @gumclaw in #4674
- Document frozen schema rule for users and purchases tables by @gumclaw in #4682
- Fix ActiveRecord::Deadlocked in Google OAuth2 sign-in with retry logic by @gumclaw in #4679
- Allow admins to login with Google, Apple, and Stripe OAuth by @gumclaw in #4675
- Add AGENTS.md pointing to CONTRIBUTING.md by @gumclaw in #4685
- Fix migrations.md: replace broken Notion image, fix screen flag by @gumclaw in #4686
- Fix testing.md typos and incorrect find_by call by @gumclaw in #4687
- Fix omniauth spec: use local var, correct mock auth key by @gumclaw in #4688
- Fix risk_spec: extract inline create, add missing test contexts by @gumclaw in #4689
- Fix social_google_spec: snake_case vars, fix double-negative typo by @gumclaw in #4690
- Fix unhandled Faraday::TimeoutError in CustomersController#paged by @gumclaw in #4692
- Upgrade TypeScript to 6.0 by @gumclaw in #4694
- Enforce offer code usage limit across cart line items by @nyomanjyotisa in #4666
- Fix invoice page footer appearing mid-page in Firefox by @slavingia in #4698
- Add auto Claude review for bot PRs after CI passes by @gumclaw in #4706
- Fix restart checkout card reuse by @gianfrancopiana in #4697
- Cap moderation classifier to 1 image per request by @ershad in #4709
- Request Claude review on all PRs, not just bot PRs by @gumclaw in #4707
Full Changelog: v2026.04.22.1...v2026.04.23.1