Skip to content

v1.24.0

Choose a tag to compare

@busbyk busbyk released this 25 Oct 04:56
· 276 commits to main since this release
Immutable release. Only release title and notes can be modified.
v1.24.0
4cd9567

Course listings embedded on partner sites are much easier to filter on a phone: the filters now open right where you tapped, not far down the page. This release also adds a report that helps centers find and redirect old links after moving to the new site, plus a major upgrade of our validation library and routine security updates.

Before: a screen of blank space above the Show button After: filters open right under the Filters button After: closing scrolls you back to the results
Before: a screen of white space above the Show 9 courses button After: the filters panel open under the Filters button After: the panel closed, with the Filters button and filtered results in view

🐛 Bug Fixes

  • Courses embed on phones: tapping Filters now opens the filters right under the button, and "Show N courses" brings you straight back to the results. Before, the filters panel landed far below the results with a screen of blank space above it. This was reported on SAC's External Providers page in Android Chrome and Firefox (#1432)

✨ Features

  • New report showing which old URLs visitors still hit after a center's switch to the new site, with suggested redirects for staff to review (#1359)

🔧 Infra & CI

  • Upgraded the Zod validation library from v3 to v4 (#1435, #1441)
  • Routine dependency and security updates: Sentry, DOMPurify, sanitize-html (#1437, #1434, #1425)

🧑‍💻 For the devs

  • pnpm report:404s <tenant> pulls a center's production 404s from Vercel Observability. It needs VERCEL_TOKEN in your local .env; the runbook is in docs/not-found-report.md. Center 404 pages now send a page_not_found PostHog event (#1359)
  • Local, CI and preview seeds now use the same NAC widget build as prod (20261014), so widget-vs-native parity checks compare against the right widget (#1439)
  • ADR 025: the Payload admin will be served only from the apex (www.avy-fx.org). This reverses #203 (Admin panel on tenant-scoped subdomain/custom domain); the work itself is tracked in #1252 (#1428)