Releases: NWACus/web
v1.14.0
What's new
This release headlines with rich social previews for forecast pages — share any forecast zone link and the preview now shows the zone name, danger icon, danger level, and live travel advice.

Several rough edges in the admin experience also got smoothed out: publish dates no longer get clobbered on save, the column layout picker properly surfaces errors and self-heals bad data, and URL validation finally accepts modern long TLDs like .clothing.
✨ Features
- Forecast pages now generate a rich preview image when shared on social media or in messages — with the zone
name, danger icon, danger level, and live travel advice (#1103) - Added "Prerequisites Suggested" as a Skill Level option when creating or editing Events (#1097)
🐛 Bug Fixes
- Fix
publisedAtissues: Editing a published post no longer clobbers the publish date; Pages and Home Pages now use the same
day-and-time picker as Posts (#1091) - Column layout picker on Pages now displays validation errors inline and auto-heals pages that were saved
with a missing layout, so they can be edited and saved without a confusing error (#1090) - Sponsor and other URL fields now accept modern long TLDs like
.clothing,.photography, and
.international(#1088)
🔧 Infra & CI
- Cleanup workflow no longer fails on merge-queue and Dependabot branch deletions (#1104)
- Fixed hanging/flaky end-to-end test job by adjusting the Playwright container and server output redirect
(#1102) - Reduced Dependabot PR noise by switching to monthly grouped updates (#1074)
🧑💻 For the devs
- Stabilized flaky admin end-to-end tests (#1109)
- Installed the Payload CMS skill for Claude Code (#1093)
- Added docs covering migration naming and the merge workflow (#1077)
Full Changelog: v1.13.1...v1.14.0
v1.13.1
What's Changed
This patch release fixes a bug where unpublished draft content for homepages and individual event pages could appear on the public site after a deploy cleared the cache. Draft edits now stay private until you publish them, matching the behavior already in place for regular pages and blog
posts.
🐛 Bug Fixes
- Drafts no longer leak to the public site — homepage and event drafts were occasionally visible to public visitors after a deployment cleared the ISR cache; they now stay private until published. (#1068) by @busbyk
Full Changelog: v1.13.0...v1.13.1
v1.13.0
What's Changed
This release leans into making the admin experience faster and more flexible. New tenants now provision themselves automatically with a live onboarding checklist, every navigation tab can be reshaped between dropdown, link, or button without code changes, and editors can finally drop images directly into rich text. A handful of polish fixes round it out — drag-and-drop team ordering, cleaner tenant slug pickers, and smarter quick link fallbacks.
💫 Features
- Smarter new-tenant onboarding — Creating an avalanche center now auto-detects forecast zones from AFP, conditionally adds Mountain Weather based on NAC platform data, and shows a live checklist tracking what's done and what's left, with per-step failure detail and a Rerun button. (#1011) by @rchlfryn
- Flexible navigation tabs — Every navigation tab now has a dropdown / link / button toggle, so admins can change how a tab renders without a code change. Forecasts and Observations autofill from real CMS pages instead of being hardcoded. (#1002) by @rchlfryn
- Built-in pages drive navigation — Final piece of the nav-built-in-pages work: navigation entries are now backed by real CMS page records so they survive provisioning, deletion, and admin edits cleanly. (#1062) by @rchlfryn
- Inline images in rich text — Editors can now embed images directly within paragraphs in the Lexical editor, with inline placement, float left/right with text wrap, percentage widths, and optional captions. (#968) by @busbyk
- Cleaner tenant slug field — Tenant slugs display in uppercase across list and edit views, are read-only after creation, and the create dropdown shows
SLUG — Nameso it's obvious what you're picking. (#1020) by @rchlfryn
🐛 Bug Fixes
- Drag-and-drop team member ordering — Team members can now be reordered via drag-and-drop in the admin. (#1034) by @claude[bot]
- Quick links fall back to page title — Quick link buttons with no custom label now show the referenced page's title, matching ButtonLink behavior. (#1044) by @claude[bot]
⚙️ Infra / CI
- Unified Revalidation (#1026) by @busbyk
- Recursive revalidation through intermediate collections (#1037) by @busbyk
- Document References Extraction System (#1025) by @busbyk
- Fix events revalidation bugs: wrong block mappings and missing relationship queries (#1023) by @busbyk
- Add Jest ESM transform support and use real Payload configs in tests (#1024) by @busbyk
- Skip docs with invalid data in documentReferences backfill (#1047) by @rchlfryn
- Fix: single migration for recent changes (#1058) by @busbyk
- Fix CI: debug Vercel env pull, align Node version (#1048) by @rchlfryn
- Add
--no-sensitivetovercel env addcalls for non-secret vars (#1050) by @rchlfryn - Single ESLint command:
lint(#1053) by @busbyk - Update dependencies and fix audit vulnerabilities (#1021) by @rchlfryn
💻 For the devs
- MCP server — Query the Payload database directly from Claude Code via local and prod MCP endpoints. (#1022) by @busbyk
- NAC widget dev mode —
devModeflag for working on NAC widget integrations locally. (#969) by @rchlfryn
New Contributors
Full Changelog: v1.12.0...v1.13.0
v1.12.0
What's Changed
Huge updates for new avalanche centers. They can now be fully provisioned automatically — creating one in the admin panel sets up all default pages, settings, and navigation with an onboarding checklist to track progress. Editors can also duplicate pages between tenants while preserving layout structure. The tenant selector now refreshes instantly after saves, and deleting a tenant requires type-to-confirm with full data cleanup.
Posts now support the ImageText block with a text-wrap layout option. On the data side, 7 avalanche centers with incomplete NAC API configs have been removed to fix homepage errors, and providers are now sorted alphabetically by state.
💫 Features
- Sync tenant selector dropdown after tenant save by @rchlfryn in #970
- Sort providers alphabetically within each state by @busbyk in #1005
- Add ImageText block to post by @rchlfryn in #961
- Automate onboarding for new tenant by @rchlfryn in #974
- Tenant improvements on addition and ability to delete by @rchlfryn in #997
- Enhance duplicate page action by @rchlfryn in #985
🐛 Bug Fixes
⚙️ Infra/CI
- Bump the payloadcms group to 3.81.0 by @dependabot[bot] in #982
- Use repo permission check instead of team membership for Claude worflow by @busbyk in #1003
- Add system prompt to Claude workflow for auto PR creation and reviewer assignment by @busbyk in #1004
- Enable commit signing for Claude workflow by @busbyk in #1006
Full Changelog: v1.11.1...v1.12.0
v1.11.1
What's Changed
Sierra now has an "Observations Archive" link in their observations top level nav section. This hardcoded change will be removed later in favor of using built-in page references in #988.
💫 Features
🐛 Bug Fixes
💻 For the devs
Full Changelog: v1.11.0...v1.11.1
v1.11.0
What's Changed
The major change here is re-applying the tenant lookup refactor with additional changes that address the root cause of tricky 404 errors. The tenant lookup is now based on the tenant slug and removes the edge config lookups completely. This is primarily a code cleanup and simplification change but should also provide a very minor performance enhancement.
We also removed a catch-all route that was aggressively matching in some situations leading to the display of a 404 page.
🐛 Bug Fixes
- Re-apply tenant lookup refactor with routing fix by @rchlfryn in #949
- Fix Safari 404 on donate button by using canonical URL by @busbyk in #981
- Remove custom domain from tenants collection by @busbyk in #972
- Re-implement Tenant Lookup Refactor by @busbyk in #947
📚 Documentation
💻 For the devs
Full Changelog: v1.10.0...v1.11.0
v1.10.0
What's Changed
Minor bug color fixes
🐛 Bug Fixes
- Rename
isLexicaltoisLayoutBlockand fix background color logic by @rchlfryn in #960 - GenericEmbed - fix broken videos by @rchlfryn in #964
- Fix nav colors to use branding colors by @rchlfryn in #967
⚙️ Infra/CI
- Bump payload to 3.78.0, downgrade next, fix dependencies and node version by @dependabot[bot] in #957
- Reduce observability requests by @busbyk in #971
Full Changelog: v1.9.1...v1.10.0
v1.9.1
What's Changed
Fixes generic embed issue on Chrome reported by Sierra.
🐛 Bug Fixes
⚙️ Infra/CI
💻 For the devs
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
This release doesn't have any user facing changes.
⚙️ Infra/CI
💻 For the devs
- e2e Tests - admin panel, RBAC & GHA by @busbyk in #903
- Add unit tests for frontend utilities by @rchlfryn in #944
- Add frontend page load e2e tests by @rchlfryn in #945
- Speed up e2e tests with Playwright storageState auth caching by @rchlfryn in #948
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
Primarily a bug squashing release. We now allow tags from Donorbox in the generic embed block, and also tweaked generic embed to allow Watch on Youtube to work. (see Bug section for more fixes)
This release also contains a GitHub Action to add a release version to issues once they are released, similar to Payload.
🐛 Bug Fixes
- Embed block - add allowed tag and attributes by @rchlfryn in #931
- Fix: prevent widget getting stuck at
#/allwhen navigating forecast dates by @rchlfryn in #932 - Styling updates - update UI at tablet breakpoint, improve theme preview and all blocks pages by @rchlfryn in #935
- Fix console errors - hydration from form & iframe by @rchlfryn in #937
- Update timezone to use name instead of GMT- by @rchlfryn in #936
- Fix event page featured image overlap by @rchlfryn in #940
- Update snfac button color to be accessible by @rchlfryn in #943
💻 For the devs
⚙️ Infra/CI
Full Changelog: v1.7.1...v1.8.0