Improved
Jun 29, 2026
Faster unit page — one action bar with quick-add pop-ups
The unit page now leads with a single action bar — Edit, Parking, Forms, Documents, Notes, Violations, Agent, Lease, and Photos — each showing a live count and opening a pop-up to add a new item. The sections below are tidied into collapsible panels that stay closed when empty.
Improved
Jun 28, 2026
Mobile dashboard upgrades + color themes
Big polish pass for phones: the notification bell now shows a live count and opens a dropdown of what needs your attention; global search is now reachable from a magnifying-glass in the top bar; and you can change the look — light/dark mode plus 8 color themes (Sunset, Slate, Marina, Garden, Forest, Plum, Crimson, Emerald) — right from the Appearance icon on any device. Sign out and Help now live in the left menu (and are searchable) so they’re out of the way of the buttons you use most.
Improved
Jun 27, 2026
Glossary now inside the dashboard + global search
The HOA Glossary is now built into the portal, not just the public site. Find it under Reference → Glossary (every role can see it), search it A–Z or by topic, and — best of all — glossary terms now show up in the dashboard search box. Type “quorum” or “reserve study” anywhere and the definition is one click away.
Improved
Jun 27, 2026
Help shows only what applies to you
The in-app Help library now filters to your role: renters see help for renter features, owners see owner features, and board members & managers see everything. No more scrolling past board-only topics if you’re a resident.
Improved
Jun 27, 2026
Directory contact-gap buttons + accurate unit note counts
The Directory now has quick “📧 No email · N” and “☎️ No phone · N” filter buttons with live counts. On a unit, the per-occupant note badge now reflects the member’s full contact log (notes + calls/texts/emails) so it matches the directory, and clicking Edit on an occupant scrolls the edit panel into view and highlights it (that’s where the “Primary on title” checkbox sets the primary owner). The member contact-log “add” now opens its own focused page instead of an inline form.
Improved
Jun 27, 2026
Directory: Cell vs. Other phone
A member’s first phone number is now labeled “Cell” (and noted as the textable number used for SMS alerts), and the second is “Other” (landline/work). The Cell number is exactly what text broadcasts send to, so you can tell at a glance which contacts you can reach by text.
Improved
Jun 27, 2026
Dashboard flags for missing phone numbers
Alongside the existing email-health chips, the manager dashboard now shows “Contacts with no phone” and “No owner phone: N units,” each linking to the directory filtered to exactly those people/units — so you can see at a glance who you can’t reach by phone, not just by email.
Improved
Jun 26, 2026
Violations: search, sort, archive + mobile fixes
The Violations list gets a search box (by unit, resident, or type) and sorting (newest, oldest, by unit, by status). You can now archive a violation — archived ones drop out of every list (including “All”) and live behind a new “🗄 Archived” filter, with a Restore button. On phones the list now shows the unit number, and on a violation’s page the Update-status control moved to the top.
Improved
Jun 26, 2026
Clearer PM completions + a Done list
Marking a maintenance task complete now opens a clear prompt: confirm it’s done, then choose whether to schedule the next one and on what date (pre-filled, editable) — instead of silently rescheduling. The PM Schedule also defaults to the next two weeks, adds a date-range filter, and a new “✓ Done” tab that logs every completed task (what, when, by whom, and notes).
Improved
Jun 26, 2026
Units: filter to renters + spot missing owner contact info
The Units page has a “🏠 Renters only” filter to show just the units with a tenant, and each row now flags “✉ no email” / “☎ no phone” when a unit’s owners have no email or phone on file — so the board can see at a glance which units they can’t reach. (Also: composing or editing a document now hides the full document list underneath, showing only what you’re working on.)
Improved
Jun 26, 2026
Search and filter your Tasks
The Tasks page now has a search box (matches the task title, notes, or the assignee’s name) and an “Assigned to” dropdown so managers can quickly narrow a long list down to one person, a group, or whatever they’re looking for. Search sticks as you switch between the Open/Mine/Done tabs.
Improved
Jun 25, 2026
Notes on deactivated members
You can now open a deactivated member from Directory → Deactivated (their name links to the profile, plus a Notes button) to read and add to their contact log — handy for keeping a record on former owners or renters.
Improved
Jun 25, 2026
At-a-glance tiles for residents
Owners and renters now see three quick-count tiles at the top of their dashboard — Announcements, Upcoming events, and Marketplace — each showing the current count, a short description of what it is, and a tap-through to the full page.
Improved
Jun 25, 2026
Choose the signer + apply a digital signature on violation notices
When issuing a violation notice you can now choose who signs it (any board member or manager) instead of it defaulting to whoever filled it out, and apply that person’s saved digital signature so it prints on the letter. If they have no saved signature, a blank signature line prints for a wet signature. The notice footer now reads “issued via the [your community] portal.”
Improved
Jun 25, 2026
Edit an issued violation notice + rich-text body
The violation notice body is now a rich-text editor (bold, headings, lists, links) and you can edit a notice after issuing it — each issued notice has an Edit button. Issuing saves the notice only; you print or email it as a separate step.
Improved
Jun 25, 2026
Task completion: add a note, a photo, and a follow-up
When you mark a To-Do task done, a quick window now lets you add a comment about what you did, attach a photo, and — if needed — create a follow-up task in one step. The note and photos show on the task afterward.
Improved
Jun 25, 2026
Assign tasks to a group or convert to a work order
To-Do tasks can now be assigned to a group — Any board member, Any manager, or Board Meeting — not just one person, and they show on the right people’s lists. A task can also be converted into a Work Order in one click when it turns into a real maintenance job.
Improved
Jun 25, 2026
Unit occupancy history
When an owner or renter leaves, “Move out” now keeps them in the unit’s history with a date range instead of erasing the record. Each unit shows its past occupants, so you can see who lived there and when.
Improved
Jun 25, 2026
File a violation from the unit page
The unit page has a “File a violation” button that opens the violation form with the unit and its owner already filled in.
Improved
Jun 25, 2026
Printable member card with more detail
The directory member view is now a full-width card with Email, Print, and Edit right on it, plus more details when available (full mailing address, rental agent, text-alert status). You can print a member’s card for your records.
Improved
Jun 25, 2026
To Do Tasks: detail view, sharing & a Done report
Click any task to open a full detail view you can print, email to your team or board, or text (once SMS is enabled). There is also a new Done report — completed tasks for this week, last week, this month, a custom range — that you can print or email. Plus: In progress and Blocked filters on the task list, your open tasks now appear in the dashboard “needs attention” alerts, and the menu item is now “To Do Tasks.”
Improved
Jun 20, 2026
Simpler pricing calculator
The big unit-count number on the pricing page is now directly editable (the separate “or type a number” box is gone), and the monthly estimate rounds to the nearest quarter.
Improved
Jun 20, 2026
Broadcast replies go to the sender; open counts on the list
When a board member or manager sends an email broadcast, replies now go straight to that person. The broadcasts list also shows an "Opened" count and percentage for each sent broadcast at a glance.
Improved
Jun 20, 2026
More flexible member records
Ownership and role are now separate, so a person can be an owner AND staff (or board). You can add a "Neither" status for pure employees who don’t own or rent, and members can be added or saved without an email on file (they show a “Call to get email” prompt). Renters now appear as occupants on their unit page, agents show as a compact memo, and changing a password is its own page.
Improved
Jun 19, 2026
A person can be both an owner and staff (or board)
The member editor now separates "Owns a unit? (Owner/Renter)" from "Role / access" (Resident, Staff, Board member, Board admin, Property manager). The two are independent, so someone can be an owner who is also on staff or the board. The directory shows their ownership and their role separately.
Improved
Jun 19, 2026
Type to find any sidebar menu item
A filter box at the top of the dashboard sidebar lets you type to instantly find any menu item — matching items surface from whichever section they live in, and the rest hide until you clear it. Handy when the menu has a lot of sections.
Improved
Jun 17, 2026
Simpler, lower pricing: $20/mo + 33¢ per unit
SoShiny pricing is now $20/month base plus 33¢ per unit per month — every feature on every plan, 30-day free trial, no contracts. A 50-unit community runs about $36.50/month. The pricing calculator on the pricing page reflects the new rate.
Improved
Jun 17, 2026
Board members land in the Board section at login
Board members now arrive in the Board view when they sign in (they can still switch to the member or renter view anytime with the view-as toggle).
Improved
Jun 17, 2026
Show/hide password on more screens
The show/hide password toggle is now on the password-reset, invite, and account password-change screens, not just sign-in.
Improved
Jun 17, 2026
Faster community photo galleries
Public community photo galleries now load lightweight thumbnails in the grid and the full-resolution image only when you open a photo — noticeably faster pages.
Improved
Jun 16, 2026
Manager-only “how-to” videos for board members
Board members and managers now get an extra “Manager Features” video button next to the section how-to video — showing leader-only tips for running that part of the community. It appears only while you’re in the board view, so regular members never see it. First one is live on Announcements, with more sections to follow.
Improved
Jun 8, 2026
New document categories: Financials, Taxes, Bids, and Invoices
Document libraries now include four new built-in categories — Financials, Taxes, Bids, and Invoices — so boards can keep budgets, tax filings, vendor bids, and invoices neatly organized alongside bylaws, minutes, and insurance. Available to every community now; you can still add your own custom categories any time.
Improved
Jun 7, 2026
Signup page now points members to their portal sign-in
Visitors who land on the SoShiny signup page are now asked whether they run a community (and want to sign up for the software) or are a member looking to sign in to their existing community portal. Members are sent straight to the sign-in page instead of accidentally starting a new association.
Improved
Jun 6, 2026
Member email broadcasts now reply to your community inbox
When a board member sends an Email Members broadcast, replies now go to your association’s Main email instead of the individual person who happened to hit send. Set it under Settings → Association Profile (the Main email + Main phone fields moved there from the Public Landing Page section — same fields, more logical home). If no Main email is set, replies fall back to the sender as before. The address still appears on your public landing page exactly as it did.
All transactional emails now ship branded HTML matching the broadcast template
Until today, only the member invite email had the polished navy-header / orange-CTA / soft-gray-footer treatment. Password reset (both self-serve from /forgot.php and board-sent from /dashboard/directory.php), document-signing notifications (sign requests + fully-signed alerts), marketplace approval + rejection emails, and property-listings approval + rejection emails now all use the same branded shell. New helpers email_html_wrap() + email_button_html() + association_logo_url() in includes/functions.php make any future transactional email a one-screen edit. Each email automatically embeds the sending association's logo if they've uploaded one, falling back to the assoc name in plain navy. Plain-text fallback unchanged for every email — recipients on text-only clients see exactly what they saw yesterday.
Temporary: Kevin gets a silent BCC on every outbound email
For the next ~2 weeks, every transactional email SoShiny sends will silently include success+bcc@soshiny.com as a Bcc — Kevin's own mailbox via plus-aliasing, so the audit stream can be filtered/labeled separately from regular inbox traffic without standing up a new mailbox. Recipients don't see the Bcc; it's invisible in the rendered email. The Bcc target is config-driven (config.mail.bcc_audit on prod) so disabling it is a one-line config change with no code edit. Skips itself when the primary recipient IS the Bcc address (avoids double-deliveries).
Notification preview chips: cleaner wording, click-through to contacts, sit BELOW submit
Three small refinements to the preview chips shipped earlier today. (1) Wording: 'will email N board managers' is now 'will email N Board & Managers' — matches how you'd read it out loud. (2) The chip is now a clickable link to /dashboard/contacts.php so anyone curious about exactly who's on the recipient list can jump there in one click. Hover state turns the count orange. (3) Position: the chip moved from sitting NEXT TO the submit button to sitting BELOW it (right-aligned), so the button stays the visual anchor and the disclosure sits underneath where it doesn't compete for attention. Applied to concerns, ARC, and forms — the three forms with member-facing submit buttons.
Admin to-do list is now the SoShiny master tracker
Per Kevin's pivot — the admin to-do list at /admin/todos.php is now the canonical SoShiny project tracker. New 'Blocked / waiting' status added (migration 110, additive ENUM change) so items waiting on external triggers (Kevin's input, time-based observation, tenant onboarding signals) get their own section instead of crowding the open queue. The 'Active' filter now includes blocked items, the row sort puts In-Progress → Open (sorted by priority) → Blocked → Done → Won't-do so the page reads top-down as the project state. Populated with 20 done items (audit trail of today's shipped work), 12 open items (top-of-queue + on-deck), 6 blocked items (waiting on Stripe design answers, DMARC observation window, tenant #3, BadassHOA decommission timer, Kevin's CMS browser-test), and 2 in-flight items (NY/TX/AZ Quick Reference cards, feature-page hero screenshots).
Show/hide password toggle on the login screen
Granting Richard Brownbill's suggestion from Bellair: the login form now has a Show button next to the password field that flips the input between hidden and visible. Useful for catching typos on a phone keyboard or when the password came from a manager. Toggle is keyboard-accessible and screen-reader-friendly (aria-pressed + aria-label flip with state). No password is logged or transmitted anywhere — the toggle is purely a client-side rendering change.
Email delivery now flows through Postmark (transactional and broadcast)
Transactional emails — board-member invites, password resets, signing notifications, work-order updates, broadcast emails — now route through Postmark instead of the host's msmtp pipeline. Better deliverability, full per-message tracking in the Postmark Activity feed, automatic bounce + complaint handling, DKIM/Return-Path alignment baked in, and proper List-Unsubscribe headers on every broadcast for compliance with bulk-sender best practices. Implementation: added a 'postmark' driver to the send_mail() helper in includes/functions.php that POSTs to api.postmarkapp.com/email with the 'outbound' MessageStream. The broadcasts feature on /dashboard/broadcasts.php has had its own Postmark integration since session 14 and now auto-picks up the token (its 'Postmark not configured' warning banner is gone). Falls back to msmtp on any failure so no message is silently lost. Smoke-tested with a 200 OK + MessageID from the Postmark API.
Sitemap moat made visible: by-the-numbers strip on /about + state hub CTA polish + statute-CTA bug fix
Three shipped, one held for clarification. (1) New 'What we've built so far' strip on /about with four auto-updating tiles — 524 statute sections, 4 state law libraries, 37 product feature pages, 612 total sitemap URLs — pulled live from the same sources sitemap.xml reads, so they update the moment a statute or feature is added. (2) All four state hubs (/florida, /newyork, /texas, /arizona) got refined mid-page CTA copy that cites specific statutes (§718.116(8) on FL, RPL Article 9-B on NY, Property Code 81/82/202/204/209 on TX, ARS Title 33 on AZ), plus a softer secondary 'See how SoShiny works in [state] communities →' link to the relevant vertical page alongside the existing 'Start your [state] association free' button. (3) Bug fix in the statute-CTA category map: 'Assessments & Finance' (45 statute sections across all 4 states) was linking to the renamed-and-now-404 /features/parking-units slug — now correctly points to /features/hoa-units-parking-fees. Same map: 'Enforcement & Fines' (16 sections) was pointing to /features/architectural-review which doesn't match the category — now points to /features/violations-workflow. (4) Held: the per-state Quick Reference PDF lead magnet — needs Kevin's input on the PDF generation pipeline, email-capture infrastructure, and whether a static printable HTML page would be acceptable as a v1 instead.
Work order form: unit field is now type-ahead, locations sort alphabetically
Two quick wins on /dashboard/work-orders.php?action=new. (1) The Unit dropdown is replaced with a typeahead input — start typing a unit number and the browser suggests matching units as you go. Faster for boards with hundreds of units (no scrolling through a giant dropdown). The case-insensitive lookup still binds to the same unit_id on the back end and the Who's-Away warning still fires when you pick an away unit. (2) The Location dropdown now sorts strictly alphabetically — the legacy manual sort_order field is no longer honored on this picker, so the list always matches what you'd expect.
Home link now lives above the accordion sections in the sidebar
The Home link used to live inside the Community section, so it was hidden whenever you had a different section (Governance, Settings, etc.) expanded. Moved it to a dedicated row above all accordion sections — it's always visible at the top of the sidebar regardless of which section is open. Subtle separator line below it keeps the visual hierarchy clean. Removed the duplicate Home links from inside the Community section on all three nav variants (board, member, renter).
Settings broken out into a sidebar menu — one section per page
The Settings page used to be a single long accordion with 12 collapsible sections (profile, landing, account, lobby TV, plan a visit, tag colors, newsletter, permissions, locations, activity log, subscription, danger zone). It's now broken out into a Settings group in the left sidebar with one entry per section. Clicking 'All settings' lands on a clean card-grid index; clicking any specific section (e.g. 'Public landing page') jumps straight to a focused page with just that form and a '← All settings' back link. Each section's URL is /dashboard/settings.php?section=<slug>, so you can bookmark or link directly to any single setting. Implementation: kept a single PHP file (settings.php) instead of splitting into 12 separate files — same UX, far less surface area for bugs, and trivially reversible if real file splits become useful later. Role gates are unchanged: board members see 10 sections, board admins / super admins see all 12 (Permissions + Danger zone are admin-only), members see only Your account.
Sidebar nav cleanup: accordion sections, view-as visible when collapsed, flash auto-dismiss
Four polish items on the dashboard sidebar. (1) Nav sections (Resources, Governance, Admin, etc.) now behave as an accordion — only one section is open at a time, clicking any section closes the others, and the active page's section is always open. Section headers are now more prominent: bigger labels, brighter color, and the open section gets a faint orange tint with an orange chevron so you can see at a glance where you are. (2) The Viewing-As picker (Board / Member / Renter) now stays usable when the sidebar is collapsed to its narrow 64px width — the three buttons stack vertically and show single-letter initials (B / M / R) instead of disappearing. (3) Flash notifications like 'Returned to your normal view' now auto-dismiss after 5 seconds and have a manual × close button — no more occupying screen space indefinitely.
Manager's Report + Committee Report added to the agenda category list; Public Comments now precedes Motion to Adjourn
Two requested additions to the board meeting agenda builder at /dashboard/meeting-detail.php. (1) When adding a new agenda item, the category dropdown now includes "Manager's Report" and "Committee Report" alongside the existing Officers' Report, Old Business, New Business, and the standard locked items. (2) The two standard closing items have been re-ordered: Public Comments now sits BEFORE Motion to Adjourn so the floor closes after public input, not before it. This change applies to brand new meetings (auto-seeded in that order) and the swap was also applied to every existing meeting across every association that had Motion to Adjourn ahead of Public Comments. The print template (/dashboard/meeting-print.php) was updated to match, so printed agendas and minutes reflect the new category labels and order.
Faster homepage, 20 MB uploads, and cleaner nav dropdowns
Three improvements that make the day-to-day feel snappier: (1) homepage hero photos are now 86% smaller (3.8 MB → 541 KB across all 6 industry cards) so the page loads noticeably faster on mobile networks. (2) Max upload size for community photos, GIFs, and documents bumped from 10 MB to 20 MB everywhere — handy if you're sharing high-res shots or longer event GIFs. (3) The nav dropdowns no longer disappear when you move your mouse into the menu (closed a 6 px hover gap), and the standalone About link is now a Resources ▾ dropdown grouping About, Blog, Security, Compare to alternatives, and Changelog — mirroring the structure already in the footer.
7 new help topics + browse statutes by state on the Legal page
Added help topics for 7 features that were live in the portal but missing from the help library — In-App Help, Locations, Newsletter Signup, Storage Tracking, Global Search, Your Own Domain, and Full Association Website. The help library now covers 47 topics across every shipped feature. Also: the Legal Reference page (/dashboard/legal.php) now defaults to your association's state but lets you switch to any other state we've loaded with a one-click pill row — handy if your board is curious about how Florida/New York/Arizona/Texas handle a particular issue. Your home state stays starred so you can always tell which one is yours.