Spaces 3 Release Notes
Release date: June 2026 Tickets shipped: 58 | Merged to production: June 16, 2026
New Features
Split Layout — Units & Floor Plans
- Unit browsing: Paginated unit card list with live pricing, availability, and bedroom/bathroom details.
- Floor plan browsing: Paginated floor plan card list with price range and availability.
- Detail views: Full detail views for both units and floor plans, including pricing panel, image gallery, and Apply CTA.
- Tabs: Toggle between Units and Plans views on the index.
- Status bar: Active filter and sort state displayed inline.
Filtering & Sorting
Filter by:
- Bedroom count
- Move-in date
- Price range
Custom filters: Support for property-specific filter controls ported from Spaces 2.
Sort by:
-
Price, high to low
-
Price, low to high
-
Square footage
-
No results state: Displayed when active filters return zero matches.
-
Filter sync: All filters sync in real time across the card list and the SightMap.
Lease Term Selection
- Renters can select a lease term from a modal on the unit detail view.
- Pricing updates dynamically based on the selected lease term.
On-Notice Leasing
- Units marked as on-notice are surfaced in the unit browsing experience.
SightMap Integration
- Embedded SightMap: Interactive SightMap displayed alongside the unit card list.
- Click to detail: Clicking a unit on the SightMap opens its detail view.
- Hover info window: Hovering a unit on the SightMap shows a preview with key details.
- Filter sync: SightMap reflects the active card list filters.
- Native floor picker: Renters navigate between floors using SightMap’s built-in floor picker.
Metrics Events
Spaces 3 introduces a typed, documented metrics events system via window.SPACES.events.
This replaces the legacy Spaces 2 DOM-scraping emitter.
| Event | Description |
|---|---|
ready | Fires once when the app mounts |
metrics.units.change | Fires when the unit list changes due to load, filter, sort, or pagination |
metrics.plans.change | Fires when the plan list changes |
metrics.unit.details.click | Fires when a unit detail view loads |
metrics.plan.details.click | Fires when a plan detail view loads |
metrics.unit.apply.click | Fires when the Apply CTA is clicked on a unit detail |
Event names are preserved from Spaces 2, so existing consumers can migrate with minimal changes.
Compatible with:
- Google Analytics
- Google Tag Manager
dataLayer - Custom scripts
Accessibility
- WCAG-compliant keyboard navigation
- WCAG-compliant color contrast
- Screen reader support
Improvements
CSS & Customization
-
Scoped Tailwind styles: All Spaces 3 Tailwind CSS is scoped to prevent conflicts with existing site styles.
-
CSS API: New endpoint exposes scoped class names for client-side CSS overrides:
/wp-json/spaces/v1/class-names -
CMS color customization: Brand colors are configurable via the Engrain CMS customization panel. No code changes required.
Import Scheduling
- Import granularity expanded to support additional hourly schedule options.
- Properties can now configure how frequently unit data is imported.
Performance
- Vite build system: Replaced Webpack with Vite.
- Faster development builds.
- Smaller production bundles.
Bug Fixes
- Bedroom filter broken after SightMap integration: Resolved an issue where the bedroom count filter stopped working after the SightMap was integrated.
- Area sort not applied correctly: Fixed sorting by square footage returning incorrect order.
- Lease field not clearing: Fixed the lease term selection field not resetting correctly when switching between units.
Compatibility
Spaces 3 is a separate implementation from Spaces 2.
Both versions can coexist, and existing Spaces 2 installations are not affected by this release.
Tickets Included
| Ticket | Summary |
|---|---|
| SPCS-878 | Evaluate and Improve Test Suite Structure |
| SPCS-915 | Refactor Core Spaces Context Module |
| SPCS-988 | Define Initial Tabs and Filters Display |
| SPCS-989 | Implement Status Bar |
| SPCS-990 | Implement Unit Index View |
| SPCS-991 | Unit Detail View |
| SPCS-992 | Floor Plan Index View |
| SPCS-993 | Floor Plan Detail View |
| SPCS-998 | Increase options for import granularity |
| SPCS-1070 | Add hourly unit import schedule |
| SPCS-1100 | Replace WebPack with Vite |
| SPCS-1103 | Build Spaces 3 component library |
| SPCS-1121 | Spaces versioning update |
| SPCS-1132 | Implement Spaces CSS API for overrides |
| SPCS-1135 | Add test coverage to Spaces 3 CSS API |
| SPCS-1136 | Adjust default styles for WordPress |
| SPCS-1138 | Implement CMS CSS customization |
| SPCS-1144 | Add paged unit and floor plan endpoints |
| SPCS-1146 | Add detail endpoints for units and floor plans |
| SPCS-1147 | Add initial state index data and paging |
| SPCS-1149 | Wire conditional display logic to index cards |
| SPCS-1151 | Add lease term selection endpoint |
| SPCS-1152 | Wire lease term modal |
| SPCS-1153 | Wire index calculator control |
| SPCS-1154 | Misc index wire-ups |
| SPCS-1156 | Add database sorting backend |
| SPCS-1157 | Wire sort control |
| SPCS-1158 | Add filter backend |
| SPCS-1159 | Wire filter controls |
| SPCS-1160 | Wire detail view to API data |
| SPCS-1161 | Wire plan detail view to API data |
| SPCS-1164 | Basic SightMap integration |
| SPCS-1165 | Implement SightMap filtering |
| SPCS-1167 | Implement SightMap unit detail click |
| SPCS-1168 | Implement Spaces SightMap hover |
| SPCS-1169 | Use native SightMap floor picker |
| SPCS-1170 | Fix bedroom filter after SightMap integration |
| SPCS-1171 | Port custom bedroom filter functionality |
| SPCS-1172 | Port custom filter query logic |
| SPCS-1173 | Wire custom filters |
| SPCS-1174 | Wire no results |
| SPCS-1175 | Misc UAT cleanup |
| SPCS-1176 | Area sort fix |
| SPCS-1177 | Lease field clear |
| SPCS-1178 | Default page size to 8 |
| SPCS-1183 | Display no results on API error |
| SPCS-1184 | Agent feedback cleanup |
| SPCS-1199 | WCAG compatibility |
| SPCS-1200 | Port metrics to Spaces App |
| SPCS-1206 | Stale Asset ID cleanup |
| SPCS-1207 | Wire on-notice leasing to Spaces App |
| SPCS-1210 | Scope all Spaces 3 Tailwind styles |
Updated 29 days ago