Release Notes
Changelog of features, improvements, and fixes for the Swig Leasing Bridge.
v0.4.0 — Yardi LSR-First ETL
Released May 2026
New
- Yardi Lease Status Report (LSR) is now the canonical ingest format. Upload an LSR
.xlsx directly — the parser auto-detects the property from the Property: header, captures Book (Budget / Reforecast) and Risk Date as snapshot metadata, and maps each row's Risk × Speculation Type into our canonical sections.
- NER convention locked to Annual $ total. Per Swig leasing (Ernie Sioson, May 2026), Yardi's
NER column is always rent/year. The parser now converts it on ingest (Rent PSF/mo = NER ÷ SF ÷ 12) and new snapshots default ner_unit = annual_total. The unit picker remains as an override for future-proofing only.
- Modeling workbook export. New Modeling workbook button on each snapshot. Produces a sectioned XLSX (one tab per section + Summary) with colour-coded inputs (blue = Yardi base, yellow = analyst overlay, orange row = net-new spec deal) and live Excel formulas for Rent $/mo, PSF/yr, LC Total, Improvements $/PSF.
- Yardi LSR re-import export. Replaces the old flat Yardi import. The new export reproduces the LSR sheet name, 8-row metadata header, and column layout so the file can round-trip back into Yardi.
Schema
- Added
book, as_of_date, source_format, property_alias, and ner_unit columns to snapshots.
- Added the
in_place value to the lease_section enum.
v0.3.0 — Yardi Export & Reconciliation
Released April 2026
New
- Yardi Import Export. Generate a flat one-row-per-deal XLSX from any snapshot, ready for direct import into Yardi. Available from the snapshot header via the Yardi import button.
- Snapshot Reconciliation. Compare any two snapshots field-by-field. The new
/properties/$code/reconcile route shows a searchable delta table with added / removed / changed classification.
- Variance Report Exports. Download the reconciliation delta as either XLSX (full table) or PDF (formatted summary).
- Snapshot Compare Panel. Added to each property page for quick base/target snapshot selection.
Improved
- Numeric comparisons in the reconcile engine use a 0.005 epsilon to suppress floating-point noise.
- Date comparisons normalize to ISO strings before diffing to avoid timezone false positives.
Fixed
- Resolved a 500 SSR error caused by Node-heavy export libraries being pulled into the Worker startup graph. Both
exceljs and pdf-lib are now lazy-loaded only when an export is actually requested.
v0.2.0 — Layered Edits & Section Tabs
Released April 2026
New
- Layered Edit Model (PRD FR-10). Edits are stored as a versioned overlay on top of the immutable Yardi snapshot. Original values are never destroyed.
- Tabbed Section Layout. The snapshot dashboard is now organized into one tab per canonical section: Rent Roll, Free Rent, Tenant Improvements, Leasing Commissions, and Other Concessions.
- Editable Cells. Every cell in every section is editable inline, with type-aware validation for currency, percentage, and date fields.
- Derived Field Engine. Rent PSF/year, Rent $/month, Rent Start, and LC/TI totals are computed automatically and re-derive on every edit.
- Summary Tab. Aggregated property-level metrics across all sections.
Improved
- Validation messages surface inline below each cell.
- Edit history is visible per cell with prior value and source attribution.
v0.1.0 — Initial PoC
Released April 2026
New
- Property Workspace. List of configured properties with per-property pages.
- Snapshot Upload. Drag-and-drop Yardi flat XLSX uploads, parsed and stored as immutable snapshots.
- Snapshot Browser. View parsed leasing data per snapshot in a single read-only table.
- Canonical 2027 Lease Schema. Initial schema mapping Yardi flat exports into the five canonical sections.
- Built on TanStack Start + Lovable Cloud. Server-side rendering, file-based routing, and managed Postgres backend.