Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
`docs.furries.ph` `f1db2b26` - Record pushed workspace updates <!-- f1db2b26b39558e8ccafefc67d04fe9c9811cf0e -->
docs.furries.phf1db2b26- Record pushed workspace updatesfurries-ph-croncca9a199- Add cron reconciliation support filesdocs.furries.ph814b5659- Document regosite volunteer roster visibilityrego.furries.pha7d5bed5- Show volunteer roster shifts on regositepartners.furries.ph47d2220b- Update email blast and auth surfacescms.furries.ph96729a73- Add third-party noticespartners-api009ceb4e- Document email blast delivery task
`partners.furries.ph` `79d1fd21` - Dashboard table UI update <!-- 79d1fd21159f71d8d9ba2083d6d2ad942a8ae08c -->
partners.furries.ph79d1fd21- Dashboard table UI updatepartners.furries.ph679f966f- Dashboard table UI updatepartners.furries.pha4c8d468- Dashboard table UI updatepartners.furries.phb0a05a52- Dashboard table UI updatepartners.furries.ph2dc9c484- Update DashboardTable.astropartners.furries.ph0f975043- Dashboard table UI updatepartners.furries.phe62d3f24- Dashboard table and UI scanner update.partners.furries.ph4d87db9b- Update ScannerPanel.astropartners.furries.ph9f479011- Shared table UI and check-in scanner UI updatepartners.furries.phf6fe3725- Update CheckInWorkspace.astropartners.furries.ph52d4c875- Check in UI updatepartners.furries.phb5281f07- redesigned dashboard pt 2partners.furries.pheb66bfbd- Update dashboard table designpartners.furries.ph04f6dec3- Check-in UI update 2partners.furries.ph698b2458- Check-in UI updatedocs.furries.ph4e9d9ba7- Update updates.mdpartners-api124b78ff- Update humanResources.tsdocs.furries.phc61c7d04- Update for online communications and dev updatespartners.furries.ph5d34a7d6- Added HR Config manual adding for volunteers and username autocompletepartners-api73874c4a- Added HR Config manual addition for volunteers and username autocompletepartners.furries.phca539cae- Add dashboard table component paginationpartners-api36dc4726- Add test artifacts cleaningrego.furries.ph4a075d31- Fix SPA fallbacksrego.furries.ph9de8f089- SPA internal routes removed from public routingpartners.furries.phd49544ca- Update photo-crop-modal-runtime.tspartners-api9005fcdd- add rego auth fixes for event pagesrego.furries.phb14f70c1- Photo crop modal fix and event page fixesrego.furries.phf0f5d6fc- Event page loading time optimisationspartners-api07772aae- Added smart-retry sms functionpartners.furries.ph51422b36- Add new notify elements for communications to support sms blasts and other list-related entriesrego.furries.pha0e5876c- Add SMS blast preferencespartners.furries.ph248408ab- Fix SMS blast UI issuesdocs.furries.ph99954b5a- add sms blast docsfph-lan-emsf38d1ad6- Add shop orders and online SMS gateway supportpartners.furries.ph1f6ad34a- Implement SMS blast capabilitiespartners-api701d32f0- Implement SMS attendee communications API
`rego.furries.ph` `b8190b60` - Support AbortSignal and set button types <!-- b8190b602c64d6c20e87790279812f441fcf6115 -->
rego.furries.phb8190b60- Support AbortSignal and set button typespartners.furries.ph0a006b77- Revert optimisationpartners-api394dab1e- Revert optimisationrego.furries.phe3610a9c- Revert optimisationpartners-api69fbc7e1- Free plan optimizationsrego.furries.ph42f7f911- Free-plan optimization: static snapshots, ETag caching, live exceptionspartners.furries.phb8d50098- Free-plan optimisation: live-exceptions & cachingpartners-apib5ba1c13- Add shop pre-orders, audit extensions API security, plan Free-plan savingspartners.furries.phd9f219db- Add shop pre-orders and standardize zero-unlimited limitsrego.furries.ph8d6e8500- Add pre-order support to event shoprego.furries.phec66f9a0- Separate cart validation from fulfillment messagesrego.furries.ph86b6438e- Move shop cart to floating action buttonrego.furries.ph78d9a7db- Add fulfillment message validation to event shoprego.furries.phde78a37e- Move shop cart to modal and sync SPA stylespartners.furries.ph34fb43a4- Extend TASK012 notes; includeHidden events -rego.furries.ph2d5e6f8d- Split shop checkout; unify shop/gift UX
`rego.furries.ph` `1242968d` - Extract route utilities and improve auth expiry handling <!-- 1242968decaa378255535343fd8656ac19749c25 -->
rego.furries.ph1242968d- Extract route utilities and improve auth expiry handlingrego.furries.ph0a13112c- Allow public access to register/rego pagespartners.furries.ph8a8a572f- Fix datetime field dirty state and cleanup unsaved indicatorspartners.furries.ph73535b0e- Add observers and cleanup to dashboard runtimespartners.furries.ph08e4d469- Consolidate modals and optimize async operationspartners.furries.ph432ddaae- Mount FloatingSaveBar in SPA shell and modalsdocs.furries.ph22ba8cd2- Add copy anchor link feature to updatespartners.furries.phf3a75eb4- Improve floating save bar lifecycle and event delegationdocs.furries.ph81b0d7e7- Add recent updates section to home pagepartners.furries.phf94519b1- Refactor shop migrations and improve MFA enforcementdocs.furries.ph86234364- Document event shop config rules and featuresrego.furries.pheb1a46dc- Redirect /:slug to /:slug/ with 308 statusrego.furries.ph11db3575- Add international delivery support to event shoppartners.furries.pha0b54a18- Enhance shop config with geo, scheduling, and shared UIpartners-api508fa7e3- Add shop hours and quantity limits to event shop -partners.furries.phf9d1e690- Refactor Shop Config UX: FloatingSaveBar + consistent modals
`partners.furries.ph` `c9e94d2a` - Gifts and shop dashboard UX consistency <!-- c9e94d2a3ec2ac6fc1b1f760f790b66b52cee4b2 -->
partners.furries.phc9e94d2a- Gifts and shop dashboard UX consistencyrego.furries.ph318263af- Add 15s timeout and auth error handling to shoppartners.furries.ph0a5e1df2- Event shop: add debug logging & header loadpartners-apie500f439- Reorganize event management and add shop routespartners-apiabe0a0b5- Optimize offline inventory snapshot loadspartners.furries.ph89843775- Event shop: timeouts, UI guards, doc taskdocs.furries.ph04997035- Rewrite Report System docs; add route maprego.furries.ph1da5aad7- Add event shop, gifting flows and noticespartners-apid4fa19c7- Add event shop, rego gifting, and extensions planpartners.furries.ph4083ed58- Add event shop, gifting, migrations & dashboard UIdocs.furries.ph553247c9- Add EMS LAN shop orders & OTD docsdocs.furries.ph026b41e8- Add event shop and rego gifting docsdocs.furries.ph42f842a6- Fix dates and at TPLdocs.furries.ph24461e7b- Emit date-only SEO metadata and prefer git historyfph-lan-ems32bf16d4- Dual-mode Android Dashboard and mermaidpartners.furries.pha3e381c9- Add native dashboard discovery JSON and headers -docs.furries.phd58275b7- Add new updates
`docs.furries.ph` `b732a6a9` - Rewrite Event Management lifecycles and refs <!-- b732a6a9696faec0d54bc63fc51949984630ee9d -->
docs.furries.phb732a6a9- Rewrite Event Management lifecycles and refs
`docs.furries.ph` `3f0e4ed3` - Event management surface docs: split grouped pages, add flowchart controls <!-- 3f0e4ed3083ab0c1580b815aa28c683146d3e835 -->
docs.furries.ph3f0e4ed3- Event management surface docs: split grouped pages, add flowchart controlspartners.furries.phd7040949- Remove legacy rego/manage routes and stubspartners-api9b8ff7c5- Normalize proxied Sanity image URLsrego.furries.ph0371a5bf- Add TASK008: Rego field/media hydration certificationpartners.furries.ph65675a3b- Fix DTP late-value replay and add field/media hydration certificationdocs.furries.ph58d827ab- Event management docs: replace registration guidepartners.furries.phf8816985- Await lazy scenes, sync SPA modalsrego.furries.ph71d7cf3b- Add layout check for attendee modal DOMrego.furries.ph89abe313- Add SPA listener lifecycle certificationpartners.furries.ph516dac2d- Complete dashboard SPA listener certification -partners.furries.ph06fd1142- Preserve current query/hash for SPA navigation
`partners.furries.ph` `f813a8d2` - Add Reports and MFA checks to query-state cert <!-- f813a8d2eab9366e0d232d08b97c50b2e49c87e0 -->
partners.furries.phf813a8d2- Add Reports and MFA checks to query-state certrego.furries.ph30e739cc- Preserve URL query/hash in redirects & add certpartners.furries.phd44b58fe- Preserve query/hash in Event Management linksdocs.furries.phddb10675- Add SPA lifecycle release notes and flowchart updatesrego.furries.ph9ae3118b- Add Rego SPA button certification & fallbackspartners.furries.pha8af8a80- Add dashboard button certification scripts and fixespartners-api73c2cc54- Add /notifications route to SPA contractsdocs.furries.phe996fad1- Add Cloudflare build cache and configdocs.furries.phb1eb22be- Generate docs structure, tags & related linksrego.furries.ph97bf706f- Add mermaid and runtime for diagramspartners.furries.phc83591d0- Add mermaid and update runtime/UI components -rego.furries.ph56664ad5- Add TarsierDesk attributionreport.furries.phec433657- Add TarsierDesk attributioncms.furries.ph12b824f6- Add TarsierDesk attributionpawsport.furries.ph3e2de466- Add TarsierDesk attributionpartners.furries.ph1dbc3a16- Add TarsierDesk attributionfph-lan-emsfb3dec09- Add TarsierDesk attributionpartners-apia5d7f4e2- Add TarsierDesk attribution
`.codex-partners-api-runtime-fix` `1fa3fed8` - Deduplicate Cloudflare status dispatches <!-- 1fa3fed8370e0ad6ee4aefe9a2788eab4c9f25c1 -->
-
.codex-partners-api-runtime-fix1fa3fed8- Deduplicate Cloudflare status dispatches -
.codex-partners-api-runtime-fix0ddbfc64- Fix Cloudflare scheduler fetch redirects -
partners-api-social-location-admin42c0f1f7- Add Social location eligibility API -
partners.furries.pha1d84bf9- Add Social location eligibility controls -
.codex-cms-crona2af6c79- Document Cloudflare scheduled publishing -
.codex-partners-api-cron203fccf8- Add Cloudflare-owned platform schedulers -
cms.furries.ph15611121- Document Cloudflare scheduled publishing -
partners-api0aa79943- Add Cloudflare-owned platform schedulers -
partners.furries.ph689b8d5c- Add Social location service contract -
partners-api-reporter-pathsc5eb2d8e- Keep useful paths in reporter diagnostics -
partners.furries.ph8ad0b172- Add partner fee policy overrides -
.codex-admin-partner-fees38dc68f9- Support partner-specific platform fee policies -
partners-apie12f3dfb- fix(social): hide accepted friends from attendee discovery -
rego.furries.ph9b3f4781- fix(rego): prevent loopback API targets in production -
partners-apiae7f5594- fix(rego): honor campaign bypass for groups -
partners-api4ef1d5e1- fix(rego): resolve prefill access by tier -
rego.furries.ph4abb5876- fix(rego): quote within prefill -
partners-api455521ba- fix(rego): permit quotes during prefill
2026-09-22
`docs.furries.ph` `e0ce3dd4` - docs(eps): record RACI scoped My Work behavior <!-- e0ce3dd4d2b4b8eb250ff5adca0f305680b37438 -->
-
docs.furries.phe0ce3dd4- docs(eps): record RACI scoped My Work behavior -
partners.furries.ph5f7bd079- fix(eps): show only owned delivery in My Work -
partners-apib9cac36b- fix(eps): scope personal work and responses to RACI owners -
partners.furries.ph743a6cb7- fix(ems): preserve accounting drafts during background refresh -
partners.furries.ph9d6acad6- fix(auth): route partner members to Event Planning -
partners-api4f69c606- fix(auth): confine partner members to Event Planning -
partners.furries.ph9d60a73d- feat(profile): align dashboard setup with attendee identity -
partners-apiafecf334- fix(profile): gate dashboard access on repairable profile issues -
docs.furries.ph3c660132- docs(updates): announce rego tier community benefits -
rego.furries.phf40560a7- feat(rego): show tier community access and prompt account linking -
partners-api7db43617- feat(rego): expose tier community benefit labels -
docs.furries.ph87015833- docs(updates): record rego Discord role selection -
partners.furries.ph1446b1b5- feat(rego): select and create Discord roles for tier benefits -
partners-api14440dc7- feat(discord): expose server roles and role creation for rego -
docs.furries.phabf6d48d- docs(updates): explain combined EPS bot setup cards -
partners.furries.ph7bfffe9b- feat(eps): combine personal account links with bot DM checks -
docs.furries.phbe06fc9a- docs(updates): record Discord DM delivery diagnostics -
partners.furries.phf70fb061- fix(eps): explain Discord private-message delivery status -
partners-api14d17c00- fix(eps): distinguish Discord DM refusal from bot failures -
docs.furries.phf3b57a57- docs(updates): explain EPS plan navigation -
partners.furries.phb9d2f49e- fix(eps): hide plan navigation until selection -
partners.furries.ph0ac76e0a- feat(planning): link personal bots from notifications -
partners-api8b60c3cf- feat(account): enable personal Telegram and Discord links -
partners.furries.ph38217100- feat(account): show personal Telegram and Discord links -
docs.furries.ph388d727f- docs(updates): describe EMS attachment icon -
partners-api756c47d5- fix(rego): send confirmation wording for immediately confirmed registrations -
partners.furries.phaa631a51- fix(ems): match attachment action to roster icons -
docs.furries.ph8e9b468f- docs(updates): announce direct EMS attachment action -
partners.furries.ph02d63744- feat(ems): open registration attachments from roster -
partners-api69ae9242- fix(rego): restore attendee attachment uploads -
partners-api0548bbf1- chore(deploy): retry EPS Telegram Worker release -
docs.furries.phc709c44e- docs(updates): explain Telegram activation repair -
partners-api85268dd4- fix(eps): escape Telegram activation Markdown -
docs.furries.phc7253bd9- docs(updates): explain EPS bot readiness refresh -
partners.furries.ph41dc7126- fix(eps): refresh stale personal bot status after test failures -
partners-api507c52d5- fix(eps): align bot readiness with test delivery -
docs.furries.ph077cee23- docs(updates): describe compact EPS staff DMs -
partners-apic185a7d1- fix(eps): compact Discord staff DMs and escape Markdown -
docs.furries.ph09ab3bed- docs(updates): announce EPS bot open buttons -
partners-api64046ed3- feat(eps): add Open EPS buttons to staff bot DMs -
docs.furries.ph272e8d97- docs(updates): describe EMS-style EPS staff bot messages -
partners-apifa975d3c- feat(eps): format staff bot DMs like EMS alerts -
docs.furries.phe77525ff- docs(updates): show EPS event plan DM tests -
partners.furries.ph16d8ed3b- fix(eps): expose personal DM tests in event plan -
partners-api11fb5eb0- fix(eps): distinguish linked accounts from verified bot DMs -
docs.furries.phe56acb17- docs(updates): explain EPS bot DM permission checks -
partners.furries.ph421262a8- fix(eps): show verified staff bot DM permission -
partners-api13a3ae42- fix(eps): require private bot send before staff DM readiness -
partners.furries.phc3c60808- chore(db): mirror published Rego migrations -
partners.furries.phd652c241- fix(eps): show notification settings only to partner admins -
partners-api0bb573ee- fix(eps): restrict notification settings to partner admins -
fph-lan-emsd7086985- feat(lan-ems): deliver scheduled EPS reminders over SMS -
partners.furries.ph5ec00ff5- feat(eps): require linked staff Telegram and Discord DMs -
partners-api648667a6- feat(eps): deliver required staff bot direct messages -
partners.furries.ph1b4e51a4- feat(ems): select Discord bot channels for alerts -
partners-api9ac27084- feat(ems): deliver Discord alerts through bot channels -
docs.furries.ph683e5745- docs: record clearer EMS notification labels -
partners-apiacb5505c- fix(ems): clarify alert labels and escape delivery text -
docs.furries.ph3e089177- docs: note EMS Markdown delivery checks -
partners.furries.phb69c34f3- docs(ems): explain formatting check in sample delivery -
partners-api988c2d61- feat(ems): render Telegram alerts with MarkdownV2 -
docs.furries.ph34bf1ec0- docs: describe richer EMS Telegram and Discord alerts -
partners.furries.phca1128a9- feat(ems): expose dealer alert choices and explain notification gate -
partners-api880f10ce- feat(ems): clarify event alert context and decision actors -
docs.furries.ph48d1fb5a- docs: explain private EMS Telegram notification setup -
partners.furries.ph94320719- fix(ems): explain Telegram identity re-verification -
partners-apif5063d3e- fix(telegram): match bot sender to verified OAuth user ID -
partners.furries.ph5f185098- fix(ems): switch Telegram account from notification settings -
partners-apif16c87fe- fix(telegram): surface account mismatch during group linking -
partners.furries.ph517d967f- feat(ems): configure staff Telegram alerts from notification settings -
partners-apia20f9e30- feat(ems): route event Telegram alerts to private staff groups -
partners-api421edf35- fix(rego): reconcile confirmation policy with atomic submissions -
partners.furries.ph45ad9d9a- test(rego): retain Good faith save verification on current dashboard -
docs.furries.ph0d59518d- docs: publish September 23 workflow updates -
fph-lan-ems8e88fb7b- feat(lan-ems): preserve inclusion variations offline -
rego.furries.pheaf7eb28- feat(rego): show registration transaction history -
partners-apidffc8b24- feat(rego): persist group member custom answers -
partners-apiccaefea2- feat(rego): support secure attendee attachments -
partners-api055d44e0- feat(ems): route alerts to private staff Telegram groups -
partners.furries.phdfb0d84b- feat(rego): improve inclusion item details -
partners.furries.ph27b26546- feat(ems): manage attendee registration attachments -
partners.furries.phe52d62d2- feat(ems): configure private Telegram alert groups -
docs.furries.phc760e8f6- docs: distinguish deployed variation previews from live checkout -
rego.furries.ph0d30017c- docs(rego): record deployed variation preview evidence -
docs.furries.ph86799127- docs: explain Dealers Den variation question handling -
rego.furries.phec3dc4d3- test(rego): certify Dealers Den inherited variation answers -
partners-apie5f6503d- fix(rego): validate Dealers Den alternative questions by tier behavior -
rego.furries.ph74c3ed48- test: certify waitlist inclusion variations through checkout -
partners-apic0a4f2f3- fix: allow active-event waitlist joins with saved variations -
rego.furries.ph14f82395- test: certify gifted inclusion variations through redemption -
partners-apidd75f6e5- fix: clean gift variation promises before fixture regos -
rego.furries.ph39aba9cd- test(rego): certify collection reveal with sealed cleanup -
rego.furries.ph747e94bd- test(rego): certify hidden random designs in saved receipts -
partners-api1e48f280- test(api): preserve delayed reveal in sealed event fixtures -
rego.furries.ph6a1b1428- test(rego): verify inherited questions for every inclusion variant -
rego.furries.phcd4de808- test(rego): certify mixed inclusion offerings end to end -
rego.furries.phe4b18489- test(rego): certify persisted group variation receipts -
rego.furries.ph97d2aff4- test(rego): certify the current hosted registration shell -
docs.furries.phe1e6d145- docs: record published inclusion variation release -
partners.furries.phee294f84- feat: author inclusion variations in their own modal -
rego.furries.ph54f9f64b- feat: show effective inclusion offerings across rego -
partners-api7e3310ab- feat: serve committed inclusion offerings across rego -
partners.furries.ph03c8b639- feat: commit inclusion variation allocations atomically -
docs.furries.ph3df82ed4- docs: publish inclusion variation release guidance -
rego.furries.ph9f0129d8- feat: render safe inclusion variation promises -
partners-api6bc52585- feat: enforce inclusion variation lifecycle -partners.furries.ph45b44038- feat: add SKU-tracked inclusion variations -
docs.furries.ph20d1e539- docs: record Partners form preview and session entry -
partners.furries.phc530a7e3- feat: align Rego previews and session entry -
partners.furries.phf7ceb367- fix: align settlement payment method setup -
partners.furries.phb757a88c- fix: restore Partner Users directory RPC -
partners.furries.ph14a1e06f- fix: show registration payment proof in lightbox -
partners-api0510504b- fix: allow idempotent email blast requests -
rego.furries.ph4e35e584- fix: move order summary to payment screen -
rego.furries.ph8d044cf9- fix: show payment QR viewer across checkout flows -
rego.furries.ph43ba4e1a- feat: add full-screen payment QR viewer -
partners-api6db30942- fix: allow Rego local dev port fallback -
rego.furries.ph112d4e4d- fix: enlarge payment handoff QR code -
partners.furries.phece2242d- fix: keep payment provider branding display-only -
partners-api64c12ec4- fix: accept canonical payment provider labels -
docs.furries.ph148e2096- docs: record communication contract releases -
partners-apife83bd51- feat: expose saved-prefill email audiences -
partners.furries.phd2b05c18- feat: complete registration communication contracts -
docs.furries.ph3430deb3- docs: record registration and payment releases -
partners.furries.phd61fec29- fix: restore reliable dynamic Rego holds -
partners-apibc63a6c0- fix: log Rego reservation RPC failures -
partners.furries.ph362ee3af- fix: stabilize dynamic Rego hold intervals -
rego.furries.ph4beb9b21- fix: recover stalled Rego capacity holds -
partners-apida0244b8- fix: validate prefill grant at prefill endpoint -
partners-api8188b26f- fix: require event grant for group Rego -
rego.furries.ph0c503135- fix: verify group Rego submission -
partners-api1d65e60f- fix: require event grant for waitlist -
rego.furries.phdb8e0409- fix: verify Rego waitlist entry -
partners-apid8c69b4b- fix: require event grant for prefill -
rego.furries.ph45f5defe- fix: verify event prefill submission -
rego.furries.ph4f72198b- fix: restart expired Rego from event page -
partners-api0b7a0c6e- fix: honor event action grant for Rego holds -
rego.furries.ph25e87ecc- fix: carry event verification into rego hold -
rego.furries.phb95e9d01- fix: report event action verification failures -
rego.furries.ph228bd73f- fix: share event action Turnstile challenge -
rego.furries.ph436638ba- fix: wait for event action verification -
partners.furries.phf16d9d73- feat: publish Rego Turnstile action grants -
partners-api9fc38123- fix: restrict Rego Turnstile grants -
docs.furries.ph971103e3- docs: record Rego form verification release -
rego.furries.ph2dc081bc- feat: verify Rego event form actions inline -
partners-api2fb30d00- feat: gate Rego event actions with Turnstile -
docs.furries.ph05e1fb72- docs: describe inline Rego verification -
docs.furries.ph549b009d- docs: clarify Rego hold entry -
rego.furries.ph7d435d4a- fix: start Rego protection on registration page -
docs.furries.ph2452fac8- docs: record Turnstile releases -
docs.furries.phfe856b23- docs: explain seamless Rego verification -
partners-api5181f392- feat: protect Rego shop checkout -
rego.furries.ph7aea332d- feat: streamline Rego Turnstile flows -
docs.furries.ph8b949917- docs: clarify unified form builder release -
partners.furries.ph0e1ff71a- feat: unify native form authoring -
docs.furries.ph77d4d178- docs: clarify ordered Rego payment accounts -
partners.furries.ph07e4d09a- fix: assign Rego receiving accounts by order -
partners-apib2862974- fix: keep Rego Turnstile within Worker quota -
docs.furries.ph97943ef7- docs: record Rego security and payment updates -
rego.furries.ph10292698- feat: add Turnstile to Rego journeys -
partners-apid2895a34- feat: protect Rego flows with Turnstile -
docs.furries.ph2c54af9b- docs: update release notes parsing -
rego.furries.ph4bd90e74- chore: publish workspace changes -
partners-apidb4239fa- chore: publish workspace changes -
partners.furries.ph60b37dd5- chore: publish workspace changes -
docs.furries.phd0f5a04b- docs: record docs publication -
docs.furries.ph4eb27683- docs: record workspace publication -
fph-lan-emsb80f0a0e- chore: publish workspace changes -
docs.furries.phedff040d- chore: publish workspace changes -
partners.furries.phf270b1e0- chore: publish workspace changes -
partners-apib041e68f- chore: publish workspace changes -cms.furries.ph25fb7b6f- chore: publish workspace changes