Changelog
Changes to AppsFolio
2026-11-06
New look
- AppsFolio has a new logo across the app, sign-in pages and website, and a new browser tab icon.
2026-11-01
Fixes
- Clicking a saved preset on the Maps page loads its treemap again.
- The Map Settings panel fits the window and scrolls, so every filter and the Update Map button can be reached.
- The navigation bar stays at the top of long pages, and table headers no longer float over rows on the Content Types page.
- Pages keep a margin from the window edge at every browser width and zoom level.
- The Applications list view keeps long names and summaries inside its box.
- On phones, Add Report and Add App are visible, pages no longer scroll sideways, and list page controls (such as "Page 1 of 3") appear.
- Repeating an action shows one confirmation message instead of a growing stack, and clicking elsewhere dismisses it.
2026-10-17
Privacy-friendly website analytics
- The AppsFolio website and these help pages now use self-hosted, cookieless analytics (Umami) to count visits. It sets no cookies and collects no personal information. The AppsFolio application itself is not tracked, and the previous third-party analytics script has been removed. The privacy policy has been updated to match.
Fixes
- Links to
appsfol.io/or/help/with tracking parameters (such as?utm_source=…) now keep them when redirecting to the page.
2026-10-15
Stricter style protection
- The same protection now covers styles: a page only applies stylesheets AppsFolio serves itself, so injected CSS can't restyle a page or leak data through it. Fonts and themes no longer load from third-party servers.
Fixes
- Clicking Edit section on the Application View settings page no longer freezes the browser.
2026-10-14
Stricter script protection
- AppsFolio's Content-Security-Policy no longer allows inline scripts or runtime code evaluation (
unsafe-inlineandunsafe-eval). Only scripts served from AppsFolio itself, a small list of named services, and scripts AppsFolio marks for each page can run, so injected script has far less room to do harm. Nothing changes in how AppsFolio works.
2026-10-12
AppsFolio 1.0
AppsFolio is out of beta. This is version 1.0.0.
2026-10-11
Security hardening
- AppsFolio's JavaScript libraries are now served from AppsFolio itself rather than from public CDNs, and every page sends a Content-Security-Policy header. Script from an unlisted site can't run in AppsFolio pages.
- HTTPS is now enforced in the browser with HTTP Strict Transport Security.
- AppsFolio staff can no longer sign in as a customer user ("impersonation"). The feature has been removed.
- Security researchers can find our contact details at
/.well-known/security.txt.
2026-10-07
Your organization's name in the navigation bar
Organizations no longer have their own subdomain. Everyone signs in at appsfol.io, and the navigation bar shows which organization you're working in.
2026-10-03
Security review fixes
Fixes for the findings from the October 2026 security review. Also fixed a sign-in page note that showed up as raw text.
2026-09-22
Single sign-on (SSO)
Organizations can sign in through their identity provider using OIDC or SAML. Once SSO is enforced, password sign-in is turned off for that organization's users.
AI assistants (MCP server)
AI assistants that support the Model Context Protocol can now read and update your application portfolio.
Other changes
- Password managers can now link straight to the change-password page.
- Fixed: someone with a lookalike email domain could be joined to your organization automatically.
2026-09-09 to 2026-09-14
Fixes
- Report note fields now save.
- Reports respect your app selection. Text fields longer than 100 characters no longer disappear when you save them.
- Removed report editors can no longer edit the report, and apps are no longer duplicated in the report editor.
- Edit screens now work on phone-width screens.
- The content-type list no longer duplicates entries while you edit, and its Save button is no longer cut off.
- After you sign out, pressing Back no longer shows signed-in pages.
- Organization data is now separated at the database level (row-level security), and sign-in and billing are hardened.
2026-08-18 to 2026-09-02
Fixes and improvements
- Invite links, licensing-renewal saves and recurring dates fixed.
- Organization snapshots now include favorites and map presets.
- Adding Resource Library items during onboarding fixed.
- The Applications grid no longer overruns its right border.
- Emails now come from "AppsFolio".
2026-08-10
Help and support
A support button now sits in the bottom-right corner of every signed-in page, and the footer links to the support portal.
2026-05-10 to 2026-07-07
Fixes and improvements
- The Applications page shows how many applications match your filters, out of the total.
- Facets stay expanded or collapsed as you filter.
- More reliable under heavy load.
2026-05-10
Cleared values now show up in the (untagged) bucket
Clearing the Status (or any Choice facet) on an application from the app editor leaves a Metadata row behind with empty selections rather than deleting it. The facet sidebar treated those apps as "tagged" — so they never appeared in the (untagged) bucket and were filtered out of every value-based selection. Apps with cleared values now correctly count as untagged in (untagged) counts and in filter results.
Applications page: filters now re-apply when opened in a new tab
Opening the Applications page in a new browser tab (or returning to it after navigating away) would show every filter checkbox pre-ticked from your previous visit, but the list on the right would still show every application — forcing you to uncheck and re-check filters to recover. The page now re-issues the filter request on load so the right pane matches the checkbox state immediately.
2026-05-09
Admin: control the order of facets in the Apps List sidebar
A new Filter Order button on the Application View page (Admin → Application View) opens a modal where admins can drag and drop to set the order of facets in the Apps List filter sidebar. The order is independent of where each Content Type appears within its Section on app pages — useful when you want, say, Status above Criticality in the sidebar regardless of which Section each one belongs to.
2026-05-08
Applications page: stricter filters and a "(missing)" bucket
The way the Applications page combines facet filters has been overhauled to be more predictable.
- OR within a facet, AND across facets. Picking multiple values in one facet now means or any of these; selections in different facets compound (status and criticality, etc.). Search box queries also AND with the facet panel.
- Untagged apps are no longer included by default once a filter is on. Previously, applications without a value set for a Content Type would slip through any filter on that type. Now they're excluded — unless you tick the new
(missing)checkbox at the top of the facet. - The
(missing)bucket is shown automatically on every facet that has at least one untagged app, with a count next to it. Whenever your admin has pre-applied defaults to a facet, the(missing)checkbox is pre-selected too, so brand-new apps stay visible on first load until you deliberately hide them. - Facet counts are now contextual. The number next to each value reflects how many apps would match if you also picked it, given everything else you've selected (and any active search). Counts on each facet update as the rest of your filter changes.
Admin: per-value default flag on filter Choices
Admins can now mark each value of a choices Content Type as default-enabled in the choice editor. Default-marked values are pre-selected for users on the Applications page on first load. The mechanism is unchanged for tree-choices and for non-filter content types.
A common pattern: mark only the operational values (e.g. Status: Planning / Implementing / Active) as default and leave Retired / Decommissioned unmarked. Users get a focused list day-1 and can still opt the rest back in.
Default choices on filter content types
Faster, less flaky filter behaviour
- Behind the scenes, the Applications page now builds its facet metadata index once per request and reuses it for filtering and counting. Pages with several active filters render measurably faster.
- Rapid-fire facet clicks no longer occasionally render a stale result. The page now cancels in-flight requests as new ones go out, so the visible list always reflects the most recent click.