Release notes

Changelog

Every meaningful change to SoShiny, dated and categorized.

July 2026

Improved Jul 14, 2026

Mail Letters: see who can't receive mail, and choose unit delivery

The cost preview now links to a plain explanation of exactly who a mailing will skip and why (for example, a member whose mailing address is outside the US). On any member's profile the board can switch their letters to deliver to their unit at the community instead — reversible any time. The page also shows the community's real return address, and balance top-ups now offer $250 and custom amounts with a click-to-add-funds shortcut.

Improved Jul 14, 2026

Word documents accepted as violation evidence

Violation files now accept Word documents (.doc/.docx) alongside photos and PDFs — handy for attorney letters and typed notices. Every other document upload already supported Word.

Improved Jul 14, 2026

Mail Letters: clear, simple postage

Printed letters now show one clear postage line on the compose page, and the cost preview spells out the whole math before you send: how many letters, the current per-letter price, the exact total, and what your balance will be afterward. The board president can send letters alongside board admins and the property manager.

Improved Jul 13, 2026

The profile checklist now asks the board, too

Board members and property managers get the same Finish Setup experience residents do — the completion card on the dashboard, the checklist, and the celebrations. The card also got a lot harder to miss: a big red-to-green percentage, the next few items by name, and a full-size Finish setup button.

Improved Jul 12, 2026

Recording a member's departure, respectfully

When someone is no longer in the community, the board can now record why — moved out, sold, transferred ownership, or passed away — and when, even if it happened a while ago. Marking a passing immediately stops every email, text, and letter to them, notes the family or estate contact, and shows the unit as "Estate of…" until ownership is resolved. Past departures can be corrected or undone from the unit's history.

Improved Jul 11, 2026

Finish Setup: friendly popups for everything

Every item on the setup checklist now opens a simple popup — change your address, cell, email, photo, or emergency contact without ever leaving the page, and allow text alerts right there too. Completing or skipping an item earns a little confetti, and reaching 100% opens a congratulations window with the welcome video and a straight path to your dashboard.

Improved Jul 11, 2026

Owners: the Lobby TV, from your couch

Owners now have a Lobby TV link in their sidebar under Community — the same live screen that plays in the lobby, in a new browser tab.

Improved Jul 3, 2026

Everything about you now lives in My Profile

No more hunting through two places to edit your info. Your timezone, text-alert opt-in, directory privacy, and password have moved from Settings into My Profile, alongside your name, contact details, travel, guests, and vehicles. Settings is now just for community configuration (board and managers). There's a My Profile link at the top of the sidebar for everyone.

Improved Jul 3, 2026

Board agenda: rich-text notes + link the minutes to approve

Agenda item Details and Outcome fields are now full rich-text editors, so you can bold, bullet, and format resolutions the way they'll read in the record. Any agenda item — especially the standard “Approve Minutes from Last Meeting” — can now link directly to a set of meeting minutes, adding a one-click “View & approve minutes” button right on the agenda.

Improved Jul 3, 2026

Multi-day events show their full date range

Events that span more than one day now display their full date range (e.g. “Jul 3 – Jul 6”) everywhere they appear — the dashboard, the events page, and the lobby TV. We also fixed a bug where a multi-day event that was already under way would disappear from those lists before it had actually ended.

Improved Jul 1, 2026

Sortable directory + refreshed member profile

Click any column header in the resident directory (Name, Unit, Role, Owner/Renter, Email, Phone, Last login) to sort. And the member profile page was rebuilt to match the unit page — a single action bar (Edit, Log, Documents, Email, Print, Move out) with quick-add pop-ups, and Contact info / Contact log / Documents as tidy collapsible sections.

Improved Jul 1, 2026

Unit page: quick-add occupants + typed notes

Adding an occupant now uses a fast type-ahead search — start typing a name or email, and if the person isn't found you can add them as a new member in the same step. Unit notes can also be tagged by kind (call, text, email, in-person), matching the way the directory logs contact.

June 2026

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.

Improved Jun 5, 2026 View →

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.

Improved Jun 5, 2026 View →

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).

Improved Jun 5, 2026 View →

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.

Improved Jun 5, 2026 View →

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).

Improved Jun 4, 2026 View →

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.

Improved Jun 4, 2026 View →

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.

Improved Jun 4, 2026 View →

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.

Improved Jun 4, 2026 View →

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.

Improved Jun 4, 2026 View →

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).

Improved Jun 4, 2026 View →

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.

Improved Jun 4, 2026 View →

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.

Improved Jun 3, 2026 View →

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.

Improved Jun 2, 2026 View →

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.

Improved Jun 1, 2026 View →

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.

May 2026

Improved May 31, 2026 View →

Admin CMS quality pass — media picker, blog statuses, industry editor, author writers

Ten-item upgrade to the admin CMS shipped in four groups. (A) Universal media picker modal — pick from the existing library, upload new, or link to an external URL — wired into every image field and every Quill editor. Thumbnails are generated at upload time, so the media library now loads in milliseconds. (B) Blog admin gets full search + status filter, plus archived and soft-deleted statuses with a 10-day grace window before purge — restore any post that was deleted by mistake. (C) Industry editor adds SEO keywords, OG image override, featured-image picker, Quill rich-text for the lede and use-case sections, and a new customer-quotes section that renders as testimonials on the live page. (D) Authors get a list of their posts on their profile page; super-admins see an Edit-this-post link at the top of every public post; and any SoShiny user can now be granted blog-writer access without needing full super-admin keys.

Improved May 29, 2026

Sitemap now updates itself

The soshiny.com sitemap is now generated dynamically from the CMS. Every new blog post you publish and every industry page edit shows up in the sitemap automatically, so search engines pick up new content without anyone hand-editing a file. Same URL (soshiny.com/sitemap.xml), nothing changes from the outside.

Improved May 28, 2026

Easier to find SoShiny on the web

Behind-the-scenes work so search engines and link previews understand SoShiny: unique page descriptions and canonical tags, rich link-share cards for social and messaging apps, structured data (organization, software, and FAQ), and a sitemap. The old BadassHOA.com address now permanently redirects to SoShiny.com so no old links get lost.

Improved May 27, 2026 See it live →

Search box on admin Help Topics

/admin/help.php now has a live search bar above the topic list that filters on title, slug, category, and body text. Multi-word queries are AND'd; empty category groups auto-collapse; a Clear button (and Escape) resets. Useful now that the help library is at 40+ topics and growing.

Improved May 26, 2026 See it live →

Who's Away — filter tabs, agent picker, and resident-side away ribbon

Iteration pass on the Who's Away board. Management page now has filter tabs across the top — 'Away now' (the default, since that's what you're usually checking), 'Upcoming', and 'Occupied' — with live counts. Unit-number search bypasses the filter so you can find any unit fast. Adding an absence now offers a rental-agent / real-estate-agent picker that pulls from the community contacts directory, so 'the agent who has the keys' is one click away. On the resident dashboard, when a unit is currently marked away, the 'My Unit' ribbon switches to a red palette with an away badge so an owner instantly sees they (or their tenant) are flagged. Renters' own absences are private to them.

Improved May 26, 2026 See it live →

Real-estate agents added to the community contacts directory

Boards can now attach real-estate agents as a distinct contact kind in the community contacts directory, separate from rental agents. Useful when a unit goes up for sale and the listing agent becomes the de-facto key-holder while owners are out. The new kind also appears in the Who's Away agent picker — so when a unit is vacant for a showing, the absence record can link directly to the listing agent.

Improved May 26, 2026 See it live →

Dashboard polish — unit ribbon, view switcher, help in global search

Three connected upgrades to the resident dashboard. (1) The My Unit ribbon now lists the actual owners and tenants on the unit (pulled from the occupants roster) instead of just the logged-in user's role, plus the monthly HOA assessment derived from the unit's annual fee. (2) Board admins, board members, property managers, and super admins get a 3-way Board / Member / Renter view-as switcher pinned to the top of the left sidebar — easier to preview what each role sees without leaving the page. (3) The dedicated help search bar on the dashboard has been replaced by integrating help topics into the global 'Search everything' bar in the top right, and a Help link has been added to the main sidebar nav so it's always one click away.

Improved May 23, 2026 See it live →

Member invite email — branded HTML, feature list, and sender sign-off

Invite emails now send as full HTML with the association's logo, an orange CTA button, a portal bookmark link, and a 7-item feature list explaining what members can do once logged in. The sign-off shows the name, email, and phone of whoever sent the invite. The footer links both the association name and SoShiny back to their respective portals.

Improved May 23, 2026 See it live →

Directory: last login date visible per member row

Board admins and managers can now see when each member last logged in directly from the directory. Members who have never logged in but have a real email on file show a red "Never" label alongside the invite button, making it easy to spot who still needs onboarding.

Improved May 23, 2026 See it live →

Gifted plan — super admins can grant free access as a charity designation

A new 'Free (gifted)' plan is available in the association plan dropdown. Super admins can set any association to gifted status, giving them full access at no cost for as long as the designation is active — intended for charitable or sponsored associations, not discounted billing.

Improved May 20, 2026 See it live →

Directory: Owners / Renters split, 3-way member type, media thumbnails

The directory nav label is now 'Owners / Renters' and the dashboard tile shows owner and renter counts as two separate numbers. The add/edit member form now has a 3-way Owner / Renter / Staff radio group instead of a checkbox. Media uploads now generate thumbnails (400×400 max) for faster grid loading. The audit log is now visible to board admins on the Settings page.

Improved May 19, 2026 See it live →

Bellair tenant directory imported

37 renters across 29 units imported from the Bellair tenant list. All accounts are active in the directory with phone numbers on file. Tenants without an email address on record have placeholder emails and can set their own via the password-reset flow when they're ready to log in.

Improved May 18, 2026 See it live →

Lobby TV: smooth scroll on Samsung Smart TVs

The lobby TV display now scrolls smoothly on Samsung Smart TVs and other lower-powered browsers. The previous JavaScript requestAnimationFrame loop ran on the main thread and caused choppy, jumpy motion on Tizen WebKit. The new approach uses CSS @keyframes animation, which the browser hands off to the GPU compositor thread — resulting in smooth, continuous scrolling. Also: weather data is now fetched server-side in PHP (no client-side fetch calls, no layout pop when the page loads), Google Fonts removed in favor of the system font stack, and all clamp() values have rem fallbacks for older Tizen versions that don't support clamp().

Improved May 18, 2026 See it live →

Concerns form now shows how the board will contact you

When you submit a concern, complaint, or compliment, the form now displays your contact details — name, unit, email, and phone — so you know exactly what the board will use to follow up. If your phone isn't on file, a link takes you straight to profile to add it. The anonymous toggle hides your contact block and shows a clear warning: the board won't be able to follow up or give you updates if they don't know who you are. The member name typeahead also now respects your directory privacy setting — if the board has restricted the full directory, the picker is hidden entirely.

Improved May 18, 2026 See it live →

Dashboard tile polish — members breakdown, rules label, safer contact tiles

Three small improvements to the dashboard tiles. (1) The Members tile now shows a breakdown under the total count: how many owners, how many renters, and how many team/staff members. (2) The Rules tile label is now 'Rules & bylaws' to more accurately reflect what it links to. (3) The Board & mgmt and Contacts tiles no longer act as links for users who don't have contacts access — previously clicking them would hit a 'you don't have access' wall; now they render as plain non-clickable tiles for those users.

Improved May 18, 2026 See it live →

Events and lobby TV now display in your association's local timezone

Associations can now set their local timezone in Settings > Association profile. Events are stored in UTC and displayed in the association's local time everywhere — the Events page, the event editor (so 6 PM means 6 PM, not 6 PM UTC), and the Lobby TV. Previously all times were stored and displayed as UTC, so a 6 PM event showed as 2 PM on the TV for Eastern associations. Times entered in the event form are now treated as local time and converted to UTC on save.

Improved May 18, 2026 See it live →

Archived announcements tab for board admins

Board admins can now view expired announcements without digging through settings. A new 'Archived' tab on the Announcements page lists everything past its expiry date. Switching back to the live view shows only current announcements as before. Useful for referencing what was communicated in past months or reposting a seasonal reminder.

Improved May 15, 2026 See it live →

Announcement tag colors — customizable per association

Announcement type badges are now color-coded by type: Beautification is green, Emergency is red, Event is blue, Maintenance is amber, and General is orange. Board admins can now customize any of these colors in Settings > Announcement tag colors. Pick a color with the color picker, preview the badge live, and save. The chosen color applies on the announcements dashboard, the public community landing page, and the lobby TV. Colors reset to the app defaults at any time via the Reset to defaults button.

Improved May 14, 2026 See it live →

Events: All tab so nothing disappears into the past

Board admins now see an 'All' tab on the Events page alongside Upcoming and Past. The All tab shows every event regardless of date with full Edit and Delete buttons. This fixes a real problem: if you save an event with the wrong date it would immediately fall off the Upcoming view and show up buried in Past with no obvious way to fix it. Now it's always reachable.

Improved May 14, 2026 See it live →

Lobby TV overhaul — 3-column layout, weather, readable from across the room

The Lobby TV display got a full rework. Three columns — Announcements, Upcoming Events, and Marketplace — each with a colored header, item count, and its own independent scroll that loops when it runs out of content. Text is sized for distance viewing using fluid clamp() values (event dates read as large as 2.6rem). A weather widget centered in the header shows current conditions (WMO emoji + temperature + wind + precipitation) from Open-Meteo (free, no API key), refreshing every 30 minutes. The association's logo is now larger (up to 110px tall). Recurring events are now properly expanded — previously a weekly meeting series only showed one row; now all upcoming occurrences appear. Fixed a bug where trial-status associations were excluded from the TV query.

Improved May 13, 2026 See it live →

Announcements can include an image

Board admins can now attach an optional image to any announcement — a flyer, a photo from last month's social, a map of the work zone, anything. The image appears inline below the announcement body on the dashboard and on the public community landing. Images are served through the same secure file gatekeeper as documents, respecting the announcement's audience setting.

Improved May 13, 2026 See it live →

Role renamed: 'Resident' is now 'Owner'

The resident role has been renamed to 'Owner' throughout the app and database. This better reflects what the role actually represents — a unit owner, not just any resident. Existing accounts are migrated automatically; nothing changes for current users except the label. The 'Renter' role remains separate (renters have narrower access than owners — they can't file ARC requests, join committees, or access settings). If you were filtering by 'Resident' anywhere, you'll now see 'Owner' in its place.

Improved May 12, 2026 See it live →

Work orders — assign to employees, not just board members

The 'Assigned to' dropdown on work orders now includes all active employees (contractors, vendors, maintenance staff) alongside board and management roles. If an employee has a title on file (e.g., 'HVAC Technician', 'Pool Service'), that title shows in the dropdown. This means you no longer need to create a board-role account just to route a work order to your plumber or landscaper.

Improved May 12, 2026 See it live →

Insurance — attach policy documents directly to each record

The insurance record edit view now includes an attached documents section. Board admins can upload PDFs, Word docs, or images (up to 25 MB each) directly from the insurance page and they're stored with the policy record — no more uploading to the documents library and hunting for them later. Attached files are board-only and pull from the same storage quota. You can also delete individual attachments from the same view.

Improved May 12, 2026 See it live →

Employees — attach W-9s, contracts, and background checks to employee records

Board admins can now attach documents directly to an employee record — W-9s, signed contracts, background-check reports, certifications, anything relevant to that person. The upload section appears in the employee edit form (board admin only). Attached files are board-only access, stored in the same upload quota, and can be individually deleted from the same view.

Improved May 12, 2026 See it live →

Employee financial details gated to board admins only

Pay type, pay rate, and salary information on employee records is now visible and editable only by board admins and super admins. Board members and property managers can still view and update everything else on an employee record (name, title, contact, status, notes) but pay details are hidden. This separates the operational view from the financial one without splitting the page into two separate access tiers.

Improved May 12, 2026 See it live →

Rules: filter by category

The Rules page search bar gained a Category dropdown alongside the existing Source filter. Categories come from your curated list plus any legacy categories still in use on existing rules (so old imports stay filterable). Live search now also honors source + category so typing 'noise' with Category=Pets returns only pet-related noise rules. The Print button passes the category filter through, and the printed cover meta line shows it ('159 rules · matching "pet" · category: Pets').

Improved May 12, 2026 See it live →

Renters: Settings and Committees hidden

Renters no longer see the Settings or Committees links in the sidebar, and the pages themselves redirect renters back to the dashboard if they hit the URLs directly. Settings exposes association admin info that's not useful to tenants; Committees are an owner/board space and renters already can't join. Owners and board members are unaffected.

Improved May 12, 2026 See it live →

Renters: no ARC submissions, no committee joins

Two owner-only privileges are now properly enforced. Renters can still view what their building is up to but can't file Architectural Review requests (an exterior change is the owner's call, not the tenant's) and can't self-join committees (membership is for unit owners). The 'New request' / 'Join' buttons hide for renters; the empty state shows a friendly note pointing them at the unit owner. Owners and board members are unaffected.

Improved May 12, 2026 See it live →

Employees: type-ahead member picker

Replaced the giant member dropdown on the employees form with a type-ahead search box. Start typing a name or a unit number and the matches filter live (up to 10 results). Arrow keys + Enter to pick, click to pick, Escape to dismiss. Form refuses to submit unless an actual member is selected (no more 'I typed the name but the dropdown didn't match'). Also flipped all 189 imported pending Bellair residents to active so they show up properly in counts and visibility checks.

Improved May 12, 2026 See it live →

Committees: collapsed descriptions + Make chair / Step down on existing members

Long committee descriptions now collapse to about three lines on the listing with a 'Show more ▾' / 'Show less ▴' toggle, so multiple committees fit on the screen at once. Short descriptions render in full with no button (auto-detected). Per-member rows in the manage table now have ⭐ Make chair (promotes them and demotes the current chair) and Step down (demotes the current chair to a regular member) buttons next to Remove, so admins can rearrange the roster without removing and re-adding people.

Improved May 12, 2026 See it live →

Compact 3-column parking print is now actually compact

The 3-column parking print used to render each spot as a 3-line card (kind on top, big number, then unit + owner). For 80+ spots that filled multiple pages. Reworked to a one-line-per-spot layout — number first in bold, then a small kind tag, then the unit + owner inline. Tighter page margins (0.35in) and smaller type let a full Bellair lot fit on one or two pages.

Improved May 12, 2026 See it live →

Denser Print-all-rules + dashboard greeting reads local time

Print-all-rules now renders in two columns with tighter margins (0.4in) and slightly smaller type, so a full ruleset fits in roughly half the pages it used to. Each rule still breaks cleanly without splitting mid-block. Separately, the dashboard greeting (Good morning / afternoon / evening) was wrong for anyone not on UTC — the server clock is pinned to UTC and PHP was always computing the time of day from that. A tiny JS now overwrites the greeting using the browser's local time, so 3:30 PM EDT correctly reads 'Good afternoon'.

Improved May 10, 2026 See it live →

Documents: edit metadata + expandable descriptions

Documents in the listing now have an Edit button (board/PM only) for changing title, description, category, access level, or unit assignment without re-uploading. Long descriptions clamp to two lines with a Show More toggle so the table stays scannable.

Improved May 10, 2026 See it live →

Mailing addresses for absentee owners + new "Beautification" announcement category

User profiles now have an optional mailing address that's used when an owner lives somewhere other than the unit they own (typical when they're renting their property). Communications gained a Beautification category alongside General, Event, Maintenance, Emergency. Long rule bodies on the Rules page now collapse to four lines with a Show More toggle. The dashboard's Quick Actions side panel was removed — every action it surfaced is one click away in the sidebar.

Improved May 10, 2026 See it live →

At-a-glance dashboard tiles: rules, photos, and total members

The dashboard home now shows seven counts you can click into instead of five — Members (every active user), Units, Rules, Documents, Photos (image media), Posts, and Committees. The grid auto-fits so it stays tidy on narrow screens.

Improved May 10, 2026 See it live →

Renters see only board contacts in the directory

Privacy update: renter accounts now see only the Board section of the Directory page — no full resident roster, no other unit owners' contact details. Owners and managers see everything as before.

Improved May 10, 2026 See it live →

Property managers now have full management rights, plus a "View as" lens for the board

Property managers can now add, edit, and delete content across the dashboard alongside board members and board admins (residents and renters remain view-only). Board users also get a new View-as toggle in the sidebar — preview the dashboard exactly as a homeowner or renter sees it (manage controls hidden, board-only documents suppressed) and one click to return to your normal view.

Improved May 10, 2026 See it live →

Removed change-password card from association settings

Settings page is association-level (name, address, branding) — password changes are person-level. Users who want to change their password use /forgot.php; super admins or board admins can change any user's password via /admin/users.php or the add-member flow.

Improved May 10, 2026 See it live →

Removed demo-credentials hint from /login.php

The login page used to show local-dev demo logins. Removed for cleaner production-grade UX.

Improved May 9, 2026 See it live →

Dashboard stat tiles are clickable

Every stat card on /admin/ and /dashboard/ is now an anchor that navigates to the relevant management page. Hover gives a subtle lift, an arrow slides in, and the value goes orange.