← Back to Admin Portal
Version History & Release Notes
Current Deployed Version: v35.18 — Council Dual-Role & Union Waterfall
Naming Convention: v{SERIES}.{PATCH} — {Feature Name}
Series 35 = Supabase multi-tenant era (cross-machine auth, workspace-scoped RLS, council intelligence).
Each patch number maps to a specific deployment zip. If you need to roll back, use the zip with that exact version number.

Release Timeline

35.18
v35.18 — Council Dual-Role & Union Waterfall Current May 25, 2026
Council is now correctly modeled as both a filing entity (its own case portfolio) and an umbrella organization (full visibility into all linked locals). The Affiliate → Council → Local → Seat waterfall is structurally complete and scales to any number of unions, councils, and locals.
  • getCases() now includes council's OWN workspace in every query — council sees its own Grievances of the Parties, RFIs, ULPs, etc. alongside all locals' cases
  • getStats() returns councilOwnCases + localCases breakdown separately
  • getActivityFeed() includes council's own workspace in activity window
  • Stats bar redesigned: 5 tiles — Total, ⚖ Council Own (clickable filter), From Locals (clickable filter), Open, Linked Locals
  • Source filter added to intelligence panel: All Sources / ⚖ Council Own / From Locals
  • Council-own case cards show blue left border + "⚖ Council" badge for instant visual distinction
  • CSV export now includes Source column (Council vs Local) + Union + Agency columns
  • version.html completely rebuilt with accurate v35.xx changelog and naming convention
  • Version number displays correctly throughout app at v35.18
35.17
v35.17 — Council Intelligence Panel & Multi-Union Scale Supabase May 25, 2026
Live Case Intelligence panel added to council.html. Multi-union scaling hardened — all storage keys and queries are now workspace-ID-driven with no hardcoded org names. Supabase schema extended for union hierarchy.
  • ⚡ Live Case Intelligence panel: stats bar, fluid filter panel (Local, Status, Type, Outcome, Date, Search, Union, Agency), scrollable case list
  • Union and Agency filter dropdowns auto-populate from linked locals; auto-hidden when council covers only one union/agency
  • Create Council Case modal: Grievances of the Parties, RFI, ULP, Arbitration, EEO, Policy Dispute
  • Export CSV from filtered council case view
  • Supabase migration: added union_name and council_level columns to workspaces table
  • council_links table: added display_order and notes columns
  • Backfill: AFGE-named workspaces auto-populated with union_name = 'AFGE'
  • admin.html + council.html: all legacy afgeLocal3320CaseTrackerV1 storage keys replaced with dynamic uw_cases_{workspaceId} scan
  • manage-workspace.js: supports union_name and council_level on create/update
  • council.html login: stores uw_council_workspace_id in sessionStorage from subscriber's supabaseWorkspace field
35.16
v35.16 — Multi-Workspace Waterfall & RLS Cross-Access Supabase May 25, 2026
Correct multi-workspace architecture: Trekka Henry is her own standalone workspace, Lori Smith is a seat under Desiree Miles' Local 3320 workspace. Council cross-workspace RLS deployed.
  • Created AFGE Local 3320 workspace (UUID: a87728f8…) for Desiree Miles as primary owner
  • Lori Smith wired as editor seat under Local 3320 workspace (shared STORAGE_KEY)
  • council_links table deployed with full RLS: councils see linked locals, locals see their council
  • Cross-workspace RLS policies on cases, case_notes, milestones, activity_logs, profiles — council members can SELECT from all linked local workspaces
  • uwCouncil module added to supabase-client.js: getLocalsForCouncil, getCasesForCouncil, getStats, getActivityFeed, exportCasesCSV, createCouncilCase
  • member.html: _setCouncilSessionKeys made async; resolves council link from Supabase at login
  • caseflow.html: council waterfall resolved on every init (not just login machine)
  • admin.html: saveSubscriber wired to _updateSupabaseWorkspace on edit; _syncCouncilLinkToSupabase on council link/unlink
  • Netlify manage-workspace.js function: create, update, link_council, unlink_council, list actions
35.15
v35.15 — Supabase Auth & Multi-Tenant Go-Live Supabase May 2026
First production Supabase deployment. Cross-machine login, workspace-scoped case data, and Row-Level Security fully active.
  • Supabase project provisioned (bhafxtamiequppcnkuzt) with 15-table schema
  • Full RLS policies: workspace isolation, seat membership, council cross-access
  • supabase-client.js: auth wrapper, workspace resolver, case/note/milestone CRUD
  • member.html: Supabase email+password auth with localStorage fallback
  • caseflow.html + reminders.html: Supabase session guards added
  • council.html: Supabase session guard added
  • STORAGE_KEY changed from hardcoded string to uw_cases_{workspaceId}
  • Supabase Auth accounts created for Trekka Henry, Lori Smith, Desiree Miles
  • log-activity Edge Function deployed (JWT-validated, service-role INSERT)
  • Forgot Password flow added to member.html
  • Reminders wired to Supabase reminders table
  • Notification system wired to case events
Pre-Supabase Releases (localStorage era)
35.05
v35.05 — Comms Hub Overhaul & Email Relay Release May 2026
Comms Hub restructured as left/right two-column layout. Serverless email relay hardened. BCC, CC/Reply-To auto-fill, follow-up email generator added.
  • Comms Hub modal: left panel (options) / right panel (live preview) two-column layout
  • Auto-fill CC/Reply-To with current user email; To with grievant email
  • Generate Follow-Up Email bubble added to full case focus view
  • BCC added to all relay sends; timestamp on email confirmation
  • Quick Notes redesigned — cleaner color scheme
  • Time Log — green bubble style, no per-entry emojis
  • Union Admin Blue theme added to THEMES array
  • Admin → CaseFlow link no longer bypasses login page
  • Seat cards: individual login/password per seat, license watermark, email send
  • Credential persistence in subscriber profile
35.02
v35.02 — Seat Cards & Admin Add-Ons Release April 2026
Seat card overhaul with per-seat credentials. Admin toggle for add-ons. Admin portal locked to blue theme always.
  • Seat card: generate credentials, edit fields, primary name carry-over
  • Admin toggle for add-ons (Reminders, Comms Hub) per subscriber
  • Fix Tre Henry add-on flag check on reminders screen
  • Upsell bubble "Pay for this service" → Stripe link
  • Admin portal locked to default blue theme
35.00
v35.00 — Username/Password System Release April 2026
Full username/password login system. Admin credential reset. Change Password modal in CaseFlow.
  • Username format: local#format with member-changeable passwords
  • Admin can reset any subscriber's credentials
  • Change Password modal added to caseflow.html
  • CBA library connect from subscriber profile
  • Agency preset program offices added to admin
34.x
v34 Series — Feature Build-Out Era Legacy Feb – Apr 2026
80+ iterative releases building core CaseFlow features: Report Builder, Print Case File, Milestone Timeline, Internal Notes, Comms Hub v1, Reminders Dashboard, Council Portal v1, Trainer Portal, Admin Subscriber Management.
  • v34.93 — Username/password system beta
  • v34.90 — Streamlined admin portal with unified subscriber panel
  • v34.72 — Netlify serverless email relay across all 7 touchpoints
  • v34.47 — EmailJS mailto fallback fix + email-paste invoice
  • v34.45 — Reminders calendar default-open; calendar close on Go to Case
  • v34.44 — Report Builder Word-doc style + Print Case File restore
  • v34.36 — Internal Notes system + Comms Hub integration
  • v34.21 — Council portal v1 + GOP/RFI panel + Send Report
  • v34.13 — Reminders Hub full implementation
  • v34.8 — Light/white theme system + trainer portal
  • v34.0 — Case Focus Mode + milestone collapse + Notes center panel
33.x
v33 Series — Foundation Era Legacy Jan – Feb 2026
Original CaseFlow build: case entry, milestone tracking, case notes (voice + text), auto-backup, inactivity timeout, login page, and initial admin portal.
  • v33.7 — Auto-backup on logout + weekly trigger
  • v33.0 — Initial synchronized training HTML + core CaseFlow
Rollback Guide: Each deployment zip is named UnionWork_CaseFlow_v{version}_FULL.zip. To roll back, redeploy the zip for the target version from your Union Work folder. Supabase schema changes (v35.15+) are additive only — rolling back frontend code does not break the database. Contact your administrator before rolling back past v35.15 as cross-machine auth depends on Supabase being active.