Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
`rego.furries.ph` `2f9c7e56` - fix(rego): expose full add-on markdown details <!-- 2f9c7e560540258437557c20f6d5f3eb7e98e583 -->
rego.furries.ph2f9c7e56- fix(rego): expose full add-on markdown detailsdocs.furries.phcc2511d9- docs(updates): include dashboard canvas markdown fieldspartners.furries.pha7c251da- feat(dashboard): use markdown editor in canvas text areasdocs.furries.ph0702eb74- docs(updates): explain registration markdown authoringpartners.furries.ph83b11081- feat(rego): support markdown-ext across catalog authoringdocs.furries.phcec51533- docs(updates): explain richer Google Wallet presentationpartners.furries.ph3c4fa91b- feat(wallet): expose event pass presentation editorpartners-apie3f43ed3- feat(wallet): enrich event ticket presentation controlsdocs.furries.ph540d6ba8- docs(updates): explain organizer wallet gaterego.furries.ph8d342925- fix(rego): hide wallet action without organizer setupdocs.furries.phd003f13b- docs(updates): note assigned design review placementrego.furries.ph97abc6b6- fix(rego): show assigned designs at final reviewdocs.furries.phda03307d- docs(updates): explain fursona question picker fixrego.furries.phceda1dcb- fix(rego): show saved fursonas in item questionsdocs.furries.phe8795a10- docs(updates): explain editable prefill selectionsrego.furries.ph8f10a385- feat(rego): clarify editable prefill choicesdocs.furries.ph01e0abb0- docs(updates): announce sticky dashboard dialog actionspartners.furries.phee4d4587- fix(dialog): keep full-width modal actions visibledocs.furries.ph230e4a57- docs(updates): explain gift recipient eligibility fixrego.furries.ph695b4153- fix(gifts): respect receiver eligibility before checkoutpartners-api48b133e2- fix(rego): reject gifts for existing event registrantsdocs.furries.ph31b19ae0- docs(updates): explain quick inclusion controlspartners.furries.ph69a276f0- feat(rego): add inline inclusion switch and variant previewdocs.furries.phe3d129b8- docs(updates): note consistent random draw labelsrego.furries.ph547cf93b- fix(rego): label grouped draws consistentlydocs.furries.ph6adfc3b9- docs(updates): explain tier variant transition labelsrego.furries.ph9ae7f17e- fix(rego): explain tier variant mode and composition changesdocs.furries.phd3bdcbf8- docs(updates): explain retained rego variant groupsrego.furries.phcb7a3b0c- fix(rego): clarify fixed variants replacing random drawspartners-apidfeff895- fix(rego): show saved variants on paused inclusions in EMSpartners.furries.ph64a3f227- fix(rego): retain selected variants on paused inclusionsdocs.furries.ph77ca931e- docs(updates): explain tier inclusion background fixrego.furries.ph7242092a- fix(rego): let grouped inclusions inherit tier highlightdocs.furries.ph7d6fcd4b- docs(updates): explain newest-first transaction historyrego.furries.ph0685a241- fix(rego): show newest transactions firstdocs.furries.ph76b1bead- docs(updates): note clearer Rego draw countsrego.furries.ph331aa804- fix(rego): emphasize current random draw countdocs.furries.ph3109a5fa- docs(updates): clarify grouped replacement wordingrego.furries.ph3d096cd0- fix(rego): state replacement before grouped itemsdocs.furries.ph83783e86- docs(updates): explain shared tier replacement noterego.furries.ph3f8c8665- fix(rego): group shared tier replacementsdocs.furries.ph9f04f938- docs(updates): explain tier cleanup after variant removalpartners.furries.ph1323aeb1- fix(rego): clear removed variants from tier selectionsdocs.furries.ph68b24397- docs(updates): explain inclusion variation reorderingpartners.furries.ph7f6b8e99- feat(rego): reorder inclusion variations in editordocs.furries.phc26336c7- docs: explain grouped Rego tier variantsrego.furries.ph27510f55- fix: keep expanded tier variants under one inclusiondocs.furries.ph283e938e- docs(updates): explain variant-only inventory rowspartners.furries.ph7bcd8415- test(inventory): show variant-only analytics rowspartners-api4bbe3a92- fix(inventory): omit variant-only inclusion parentsdocs.furries.phbe47a5a2- docs(updates): confirm hosted FIFM closed badgedocs.furries.ph38b7aa36- docs(updates): explain registration closing-time correctionsrego.furries.pha2e7bae1- fix(rego): mark closed tiers red and block unavailable offerspartners.furries.phc31b967a- fix(rego): save availability windows in event time zonepartners-api26ee9175- fix(rego): enforce closing windows across registration pathsrego.furries.ph12c19e59- fix(rego): use outline icons for tier changesdocs.furries.ph9a20fbe6- docs(updates): describe outline tier comparison iconsrego.furries.ph599f836a- fix(rego): distinguish draw-count changes with direction iconsdocs.furries.ph675f7baf- docs(updates): describe directional draw-count iconsrego.furries.ph02e98759- fix(rego): show draw icon beside tier count changesdocs.furries.phd70873fb- docs(updates): note draw-count icon in tier comparisonsrego.furries.ph824e0c3a- fix(rego): carry existing random-draw designs across tiersdocs.furries.ph70dbafd0- docs(updates): explain Rego draw-count comparisonsrego.furries.ph097a8b44- fix(rego): inherit inclusion type in variant detailspartners.furries.ph54ca6a48- feat(rego): make variants-only and activation separate switchespartners-api113bcd6d- feat(rego): store variants-only separately from item typedocs.furries.ph3ab802ea- docs(updates): explain variants-only inclusion switchrego.furries.phe8dca812- fix(rego): group random draw designs under inclusiondocs.furries.ph234ffa69- docs(updates): explain grouped Rego random drawsrego.furries.ph7bae44f4- fix(rego): align Set and bundle headings with inclusionspartners.furries.phd49af78c- feat(rego): configure variant-only inclusion Setspartners-apie4d7929e- feat(rego): enforce variant-only Set selectionsdocs.furries.phe5aeadd9- docs(updates): explain variant-only inclusion Setsdocs.furries.ph78bbe141- docs(updates): explain variant detail isolationrego.furries.phb1315070- fix(rego): isolate variant detail contentdocs.furries.pha36f0ec9- docs(updates): explain tier price order and comparisonsrego.furries.phf98b8d64- fix(rego): compare tiers against cheaper offerspartners.furries.pha11284ef- fix(rego): show EMS registration tiers by pricepartners-api6bd12320- fix(rego): order registration tiers by price across APIrego.furries.phd91bab44- fix(rego): distinguish random draw entries visuallydocs.furries.ph3e9b0ed4- docs(updates): explain named Rego variation entriesrego.furries.ph2dbc619f- feat(rego): list variation designs by configured titlepartners-api930d1a0f- feat(rego): expose named random variation designsdocs.furries.ph7fef6c3d- docs(updates): describe requirement evidence uploadspartners.furries.phd44a900a- feat(planning): add evidence drop area to My Workpartners-apie6998231- fix(planning): allow assigned responders to upload evidencedocs.furries.ph2dccaaf6- docs(updates): describe My Work detail modals -partners.furries.ph1d87b57f- feat(planning): open My Work details in modals
`docs.furries.ph` `9404c751` - docs: explain targeted event communication audiences <!-- 9404c75139f272647a2ff576f9aa80123d608c7d -->
-
docs.furries.ph9404c751- docs: explain targeted event communication audiences -
partners.furries.phbe28e28b- feat(communications): group and search blast audiences -
partners-apia4c2f1d4- feat(communications): target event blasts by participant group -
docs.furries.phdef9b058- docs: explain dealer package inclusion overrides and table details -
partners.furries.ph1e7b727a- feat(dealers): configure inherited inclusions and package table details -
rego.furries.phf3af82a6- feat(dealers): show shared tier inclusions and package furniture -
partners-apicde1e2a4- feat(dealers): preserve package inclusion overrides and table details -
docs.furries.ph5b24e409- docs(updates): record simpler activity forms -
partners.furries.ph03982664- fix(previews): simplify activity question presentation -
rego.furries.phecf3e74e- fix(activities): remove redundant question introduction -
docs.furries.ph884dc7d9- docs(updates): describe shared dealer landing introductions -
rego.furries.ph2e1f33cf- feat(dealers): share the application body with registration landing -
partners.furries.pha6d67804- feat(dealers): configure a shared landing page body -
docs.furries.ph3b65d2cd- docs(updates): explain optional dealer application packages -
rego.furries.ph359dfb9d- feat(dealers): separate application and registration package choices -
partners.furries.ph4f4bdb90- feat(dealers): add optional application package requirement -
partners-api81d784e9- feat(dealers): make application package choice configurable -
docs.furries.phdb9a3349- docs(updates): record live application release verification -
docs.furries.ph2b5e33ff- docs(updates): describe application introductions and revised review rules -
rego.furries.phf811d9a1- feat(rego): introduce applications and support owner revisions -
partners.furries.ph9f2d932a- feat(ems): configure multiple applications and share package preferences -
partners-api6f06fad4- feat(applications): allow owned revisions and configurable multiple entries -
docs.furries.ph6c2339c0- docs(rego): record verified prefill reward deployments -
partners.furries.ph299682cd- fix(rego): synchronize refreshed reward presentation in EMS previews -
rego.furries.ph46b1a883- fix(rego): refresh reward scripts after stale cache responses -
docs.furries.ph93534c16- docs(rego): explain prefill rewards and redemption limits -
partners.furries.ph9d847636- fix(rego): validate retained discount limits before saving -
partners-apibdc62a28- feat(rego): enforce prefill rewards and discount redemption caps -
rego.furries.phd3bb6dfd- feat(rego): display earned prefill discounts and shop coupons -
partners.furries.phb9fdf273- feat(rego): configure prefill rewards and coupon eligibility -
docs.furries.phe6019bdc- docs(updates): record embedded form dialog verification -
partners.furries.phfa98b967- fix(ems): keep canonical form dialogs usable inside previews -
rego.furries.phef07e388- fix(forms): open embedded payment and fursona dialogs -
docs.furries.phf7e7c165- docs(updates): explain canonical EMS form previews -
partners.furries.phe8e8e887- feat(ems): render previews from canonical Rego form code -
rego.furries.ph868ef422- refactor(forms): share public Rego views with EMS previews -
docs.furries.ph937505e0- docs: record optional zero-slot dealer packages -
partners-apidb53b86a- feat(dealers): support table-only packages using existing attendee rego -
partners.furries.phe05b67eb- feat(dealers): allow optional zero attendee slots for required rego packages -
rego.furries.ph9ebb8c17- feat(dealers): checkout table-only packages without duplicate rego -
docs.furries.phd73af782- docs: record explicit dealer package type selection -
partners.furries.ph132a2bcc- fix(dealers): require package type before configuring a new booth -
docs.furries.pha0e8edf4- docs: record shared dealer entitlements and eligibility requirements -
partners.furries.ph45a39524- feat(dealers): share tier entitlements and configure rego prerequisites -
rego.furries.ph6a3567aa- feat(dealers): guide package selection by current rego eligibility -
partners-apie945fc9d- feat(dealers): require existing event rego for eligible packages -
docs.furries.phd2b426ab- docs(inclusions): record variant visibility and repeated-row fixes -
partners.furries.ph9708a040- fix(rego-config): reveal saved inclusion variants by default -
rego.furries.ph44cc4e38- fix(rego): show shared inclusion designs once -
docs.furries.ph38f32518- docs(wallet): announce Apple passes and shared Pass Config -
partners-api62587a7e- fix(wallet): use supported redirect handling in Workers -
partners.furries.ph82011695- feat(wallet): share Pass Config and add an iPhone sample -
partners-apif84709d3- fix(wallet): reach WalletWallet through its public Worker route -
rego.furries.ph20b16b25- feat(wallet): add Apple passes and aligned receipt actions -
partners-api0ab41427- feat(wallet): issue Apple passes for confirmed registrations -
partners.furries.phcb4d3d2f- fix(forms): isolate activity editing from card drag -
docs.furries.phd52f47cd- docs(updates): announce editable dashboard visual mode -
rego.furries.ph81b79b5e- refactor(markdown): share sanitized diagram enhancement -
partners.furries.ph6c7ff14d- feat(editor): add editable Markdown-backed visual mode -
docs.furries.ph3a170954- docs: describe familiar dashboard editor shortcuts -
partners.furries.ph4cc4c4c8- fix(editor): support familiar shortcuts and reliable undo -
docs.furries.ph3b2b1a85- docs: explain registration save confirmation and retry -
partners.furries.phf8cc3483- fix(ems): finish registration saves with canonical confirmation -
partners-apiece4bb06- fix(ems): retain catalog entitlements in save readback -
partners-api707f88c6- fix(ems): preserve tier activation in registration config reads -
docs.furries.ph021a3e2a- docs: explain separate dealer holder and table fields -
partners.furries.phfaec3401- fix(wallet): preview dealer holders and tables separately -
partners-apif2afd856- fix(wallet): separate dealer holder identity from table name -
docs.furries.phe481cd77- docs: clarify dealer-only Wallet table details -
partners.furries.ph61b294bd- fix(wallet): hide attendee table fields in ticket previews -
partners-api09428621- fix(wallet): reserve table details for dealer registrations -
docs.furries.ph9511378f- docs: explain shared registration journey previews -
partners.furries.ph5dac0712- feat(ems): preview all registration journeys in one shared modal -
rego.furries.ph7748d8d9- refactor(rego): reuse transaction forms in safe dashboard previews -
partners.furries.ph6490e0a2- fix(rego): preview tiers with paused inclusion assignments -
docs.furries.ph773eae56- docs: record paused-inclusion registration preview fix -
docs.furries.pha1a6e896- docs: explain separate global event policy links -
rego.furries.ph257d0561- fix(event): group global Conditions of Entry separately -
partners-api4e375c9e- fix(wallet): label separate platform and event policy links -
partners.furries.phbdcf9c84- fix(wallet): distinguish event policies from FPH terms -
docs.furries.phc518ec0b- docs: record Wallet name and tier placement -
partners-apiff7b8900- fix(wallet): place attendee name beside tier on event tickets -
partners.furries.ph1c1999a3- fix(wallet): show attendee name left of tier in preview -
docs.furries.ph07136349- docs: record centered event card layouts -
rego.furries.phe3510f00- fix(events): center incomplete card rows -
docs.furries.ph7f2de1ec- docs: describe bulk shop catalog management -
partners.furries.ph4cf82953- feat(shop): manage selected catalog items in bulk -
docs.furries.ph0cf72017- docs: record full-card checkbox selection verification -
partners.furries.ph65b46ea6- fix(ems): match full-card checkbox activation in previews -
rego.furries.phadd4782f- fix(forms): activate checkbox options across the whole card -
docs.furries.phc0a7f54f- docs(dealers): describe individual table measurements -
rego.furries.ph04e499d2- feat(dealers): show dimensions for each included table -
partners.furries.phfb5f3f6a- feat(dealers): configure separate dimensions for each table -
partners-api4550393b- feat(dealers): store individual table measurements in centimetres -
docs.furries.ph62702ae7- docs(dealers): describe package community benefit display -
partners-api38add9e0- fix(dealers): expose readable package social benefits -
partners.furries.ph56cc7ba2- fix(previews): reuse community access display for dealer packages -
rego.furries.ph25c528ca- fix(dealers): show package community benefits like rego tiers -
docs.furries.phfb644c7a- docs(dealers): record consistent package detail layout -
rego.furries.pheb73daf8- fix(dealers): align package details with inclusion modals -
partners.furries.phed7fd6f4- fix(previews): share inclusion guidance layout for packages -
docs.furries.ph9af0170f- docs(volunteers): explain multi-role applications -
rego.furries.ph7f9df1e9- feat(volunteers): apply for multiple roles in one flow -
partners.furries.ph207fe469- feat(volunteers): preview multi-role application steps -
partners-api7e76f3e4- feat(volunteers): submit selected roles atomically -
docs.furries.phc9c9df0c- docs: describe sticky event section navigation -
rego.furries.ph7f1c5511- feat(events): add sticky navigation for visible event sections -
docs.furries.ph1cbe7134- docs: explain shop address defaults and cart item options -
rego.furries.phd946a5e6- feat(shop): collect item options in cart and manage delivery addresses -
partners.furries.phbf997991- feat(shop): store private delivery addresses and align preview inputs -
partners-apice871b0f- feat(shop): manage owned delivery addresses for checkout -
docs.furries.ph8fab5203- docs: explain variant selection cards and separate shop cart prices -
rego.furries.ph9d9bd6e3- feat: show shop variants as selectable cards with distinct cart prices -
rego.furries.ph7791dce7- test: verify profile save returns to the shared modal caller -
docs.furries.phb47314be- docs: record shared preview release correction -
partners.furries.phc86f778c- fix: include canonical social settings in dealer preview parity -
docs.furries.ph8a39b3c9- docs: explain shared profile editing in dealer applications -
rego.furries.ph6f3db7ff- test: normalize profile modal certificate formatting -
partners.furries.phee31a5d3- feat: mirror updated dealer representative contact component -
rego.furries.ph4e9147cb- feat: edit representative profiles in a shared modal -
docs.furries.phc23b8c8c- docs(friends): explain mutual-friend privacy -
rego.furries.phdac29efb- feat(friends): add mutual-friend privacy preference -
partners.furries.ph58ec59f8- feat(friends): store and enforce mutual-friend privacy policy -
partners-apidae044be- feat(friends): enforce mutual-friend discovery and requests -
docs.furries.ph70d5e144- docs(forms): document full-card selection accessibility -
rego.furries.ph63b90827- fix(forms): make full checkbox and radio cards selectable -
partners.furries.ph3085067d- fix(forms): make entire preview choice cards selectable -
docs.furries.ph20a8879b- docs(shop): explain retirement of Event Merch -
rego.furries.ph1f549b02- feat(shop): replace event merch with Event Shop -
partners.furries.phd153fd1a- feat(shop): remove obsolete merch visibility controls -
partners-api7fbdeb8b- feat(shop): retire the legacy event merch API -
docs.furries.ph7518490f- docs: record corrected Dealers Den loading text -
partners.furries.ph90944aab- fix: display clean Dealers Den loading and package text -
docs.furries.ph44d893f1- docs: record dealer package base price controls -
rego.furries.ph26538ace- feat: display dealer package rates and tier value notices -
partners.furries.ph6bfec0c4- feat: let partners override dealer base registration prices -
partners-apiaa823853- feat: support dealer package base tier price overrides -
docs.furries.phc004a795- docs: explain Gmail ticket extraction and sender onboarding -
partners.furries.ph8bf5facb- feat: let partners maintain Gmail event postal details -
partners-api0f83fc20- feat: prepare registration emails for Gmail event extraction -
docs.furries.ph97450d57- docs: record public Wallet policy links and event document modals -
partners-apic9b58149- fix(wallet): preserve saved class holder restrictions during sync -
rego.furries.ph1dfb7e85- feat(rego): open event policy documents from modal buttons -
partners.furries.ph422e25fa- fix(wallet): show canonical public policy links in settings -
partners-apia44ce6bd- fix(wallet): link tickets to public registration policies -
docs.furries.ph4608e303- docs(wallet): confirm hosted ticket preview and API release -
partners.furries.phb0409906- docs(wallet): record verified event ticket rollout -
partners.furries.ph38566d98- fix(wallet): preserve Google preview source through CDN delivery -
docs.furries.ph61c665b9- docs(wallet): document official ticket preview and provider requirements -
rego.furries.ph253ec93e- feat(wallet): link confirmation emails to registration save action -
partners-apie3fe253d- feat(wallet): synchronize tickets and rotate transferred entry credentials -
partners.furries.phee49c224- feat(wallet): use Google ticket preview and managed event branding -
docs.furries.phe0f10040- docs(dealers): record compact application settings layout -
partners.furries.ph88459e53- fix(dealers): keep application settings inputs compact -
docs.furries.ph79f29dde- docs(dealers): confirm hosted booth package verification -
partners.furries.phe1d23170- docs(dealers): record verified booth package release -
docs.furries.ph19592a72- docs(dealers): explain booth package pricing and choices -
partners.furries.ph5e96bded- feat(dealers): configure tier-based and standalone booth packages -
rego.furries.phdd6de568- feat(dealers): guide registration by booth package type -
partners-api348bf84d- feat(dealers): enforce tier-based and standalone booth packages
`partners.furries.ph` `5f8773ca` - feat(ems): add confirmed removal for activity entries <!-- 5f8773caf94677bc919efe5b91ada1c8c3a0ce63 -->
-
partners.furries.ph5f8773ca- feat(ems): add confirmed removal for activity entries -
partners-api4cbd1636- feat(ems): remove individual activity submissions -
rego.furries.phadf00b03- fix(rego): open today’s schedule or earliest activity day -
docs.furries.phd109fc56- docs(ems): announce schedule time-format preference -
rego.furries.ph0121f1a3- feat(rego): switch published schedule time format -
partners.furries.phdb675d0b- feat(ems): switch schedule between 12h and 24h views -
docs.furries.ph4ea8234f- docs(updates): restore pre-existing historical commit rows -
docs.furries.ph1b751cd2- docs(updates): preserve historical release log formatting -
docs.furries.phc3ddf060- docs(updates): separate recorded schedule release entries -
docs.furries.phd3265ec8- docs(ems): explain event dates and preparation day numbering -
partners.furries.ph39dbe0e1- feat(ems): number preparation days from the event start -
rego.furries.ph455efc27- fix(rego): show published schedule after about with relative days -
partners-apicf71ecb4- fix(ems): expose event dates in schedule snapshots -
partners.furries.ph424cc502- fix(ems): default schedule days to event details dates -
docs.furries.ph7565d10c- docs(updates): explain confirmed schedule activity removal -
partners.furries.phf47e0721- fix(ems): remove activities from the edit dialog
`partners-api` `40f5f823` - feat(hr): apply higher-tier payment and fee policies across registration <!-- 40f5f823c5a16cfd2fb996f102e4d4560ada420f -->
partners-api40f5f823- feat(hr): apply higher-tier payment and fee policies across registrationpartners.furries.phdda9866a- feat(hr): configure higher-tier prices and fee absorption by rolerego.furries.ph796f8925- chore(rego): stop tracking local Wrangler cache and trace staterego.furries.phcff14cf3- fix(rego): exclude partner-funded subsidy fees from attendee chargespartners.furries.phd49cb327- feat(ems): finish HR assignment and subsidy configurationpartners-apib7918405- feat(hr): enforce single assignments and selected-tier subsidiesreport.furries.ph77850044- docs(licenses): retain bundled dependency notice inventorypawsport.furries.phfe00675a- docs(licenses): retain bundled cryptography attribution inventorycms.furries.ph86cad137- fix(cms): exclude generated captures from source validationfurries-ph-cronbe1cfdf4- feat(cron): publish social entitlement reconciliation runner
`partners.furries.ph` `b425821e` - feat(ems): add guarded entry removal and confirmed profile setup <!-- b425821e0f758a3199a18f43641f1a1f49011174 -->
partners.furries.phb425821e- feat(ems): add guarded entry removal and confirmed profile setuppartners-api342f18db- feat(ems): enforce confirmed profiles and guarded entry deletionrego.furries.ph0492344c- fix(rego): require confirmed email before profile setup
Docs Navigation Numbering and Mobile TOC
Repositories: docs.furries.ph
Status: Released
What’s Changed
- Added internal per-section numbering to article links in the documentation sidebar.
- Allowed long sidebar article titles to wrap instead of truncating with ellipses.
- Made only the page table of contents sticky and collapsible on mobile layouts, with a floating current-section header that docks directly under the site header and follows the active heading after the list collapses.
- Matched the docked mobile table of contents width to the documentation shell so it lines up with page content instead of spanning unrelated chrome.
- Matched the stacked mobile table of contents width to the same documentation shell before it becomes sticky.
- Kept dashboard links in the page tools column as normal scrolling content instead of sticky controls.
- Added explicit per-category
orderfrontmatter to docs pages so generated sidebar ordering follows the original manual navigation order instead of filename sorting.
Impact
Readers can keep their place more easily in long documentation sections, especially on mobile where the current page section stays visible while scrolling.
Upgrade Notes
- No operator action is required.
Product-Style Documentation Rewrite
Repositories: docs.furries.ph
Status: Released
What’s Changed
- Reworked the docs information architecture around product-docs patterns used by Supabase and GitHub: start pages, foundations, task guides, surface references, lifecycle guides, and reference pages.
- Rewrote Markdown docs across Reports, Event Management, EMS LAN, and Platform API docs with deeper operator-focused explanations, scope tables, procedures, stop points, handoff rules, and plain-language models.
- Added
tagsfrontmatter across docs pages and changed related links to be generated from shared tags instead of hand-typed related lists. - Added a reusable rewrite script so the docs structure can be regenerated consistently when the taxonomy changes.
Impact
Partner teams can now move through the docs by product area and task type, then follow tag-based related links to nearby concepts, workflows, references, and surfaces. This should make the docs feel closer to established product documentation rather than a set of disconnected guides.
Upgrade Notes
- Use page tags and the Related panel to move between connected pages.
- When adding a new docs page, include meaningful
tagsfrontmatter so related pages stay automatic. - Avoid manually repeating related links unless a page needs a special exception.
Release Notes Table of Contents Styling
Repositories: docs.furries.ph
Status: Released
What’s Changed
- Improved the right-side “On this page” navigation styling.
- Added current-section highlighting so the active page section appears in bold.
- Limited the Updates page table of contents to release headings so repeated release-note subsections do not clutter the navigation.
Impact
Readers scanning long release notes can now see which release section they are currently reading without the table of contents stretching into repeated headings.
Upgrade Notes
- No operator action is required.
Report Markdown and Social Link Rendering
Repositories: partners.furries.ph, docs.furries.ph
Status: Released
What’s Changed
- Rendered saved report detail pages with the shared markdown-ext renderer.
- Added markdown rendering for report summaries, statements, submitted evidence, violation details, prior history, witness notes, action notes, appeal process text, and sharing notes.
- Normalized contact links in report views so Discord profile values use safe web links instead of showing
discord://protocol text.
Impact
Partner admins, trust and safety reviewers, and event operators should now see formatted report narratives instead of raw markdown symbols such as ###, **bold**, [label](url), or [^1]^.
Upgrade Notes
- Open an existing report that contains evidence links, headings, or Discord contact fields.
- Confirm the formatted text and links are readable before sharing the report with another team.
Password Reset Request Screen
Repositories: partners.furries.ph, docs.furries.ph
Status: Released
What’s Changed
- Stopped the forgot-password form from showing “Invalid reset link” while someone is only entering their email address.
- Kept the invalid-link message for actual reset-link callback failures.
- Added the release note entry for partner teams and event operators.
Impact
Partner admins and event operators using the forgot-password flow should no longer see a failure state before requesting a reset email.
Upgrade Notes
- Request a fresh reset email from the forgot-password screen if a dashboard password needs to be changed.
- Use the invalid-link message only as a signal that a received reset link is missing, expired, or already used.