openvibers/openvibe.rent CHANGELOG.md

CHANGELOG.md

main 4.0 KB · 52 lines · markdown

Changelog

What changed in OpenVibe.Rent, newest first. Each site also publishes its patch notes at /updates.

0.3.0 — 2026-10-12

"Home prices around here" beside the affordable-housing results.

  • FHFA House Price Index context. /housing shows a small card above the results: the change in the FHFA
    all-transactions index over the past year and five years, for the MSA that matches the place (or the state), rounded
    to 0.1 %, with the latest quarter. The index is a repeat-sales index, not a price, and the card links back to FHFA.
  • Ingest. The FHFA master CSV is streamed line by line (never held whole), keeps only the traditional,
    all-transactions, quarterly State and MSA rows from the last six years, and replaces them in one transaction — a
    failed refresh keeps the previous rows. It runs from the background timer behind RENT_HPI (on in production) and
    fetches at most once every 7 days.
  • API. GET /api/v1/housing answers area_prices ({ place, level, year_change_pct, five_year_change_pct, latest, source }), or null when there is no data.

0.2.0 — 2026-10-08

The product: people post listings, anyone searches them, and reports bring a listing to staff.

  • Listings, posted by people. A signed-in person posts apartment, room, house, commercial, parking, equipment or
    other: a title, a plain-text description, a price with an ISO 4217 currency from a short list and a period, a city
    and an ISO 3166-1 alpha-2 country, and optionally a region, a neighbourhood, bedrooms, an available-from date and
    an https or mailto contact link. At most 10 active listings and 5 new ones a day; each lasts 30 days and the owner
    can renew it for 30 more.
  • Never a street address. A house number with a street is refused in the title, the description, the city, the
    region and the neighbourhood — in the form and the API alike, with a message that says what to write instead.
  • Search. /listings and GET /api/v1/listings: q, kind, city, country, min, max and period, newest first,
    30 a page with a cursor, and facets for kind and country. A filter we do not recognise is ignored, not an error.
  • A listing page with the safety note word for word, the contact link for signed-in viewers only (anyone else is
    asked to sign in), and JSON-LD as an Offer only where the schema.org type is clear.
  • Reports and staff. One report per person per listing; three distinct reports hide it from search until staff
    look. Staff (a Network role of admin or global_mod) read the queue at /staff and restore, hide or remove a
    listing. A listing staff restored is not hidden again by the same reports.
  • Saved searches. Save the current filters and see, each time you open /saved, how many listings have appeared
    since you last looked. Alerts that come to you arrive later through OpenVibe.Watch.
  • No payments, no deposits, no messaging in this version, and no scraped or partner sources: every listing is
    text a person typed here, and the site says so. Sources arrive only when their terms are verified.
  • Pages added: /listings, /listings/:id, /listings/:id/edit, /post, /mine, /saved, /safety, /staff;
    the home page is the product's own. Discovery carries every active listing in the sitemap, and robots.txt keeps
    /post, /mine, /saved and /staff to people.
  • The per-caller budgets are declared (rent.listing.create, rent.listing.report, rent.listing.renew,
    rent.saved.create), and the page forms take the same budget as the API so a form is not a way round a limit.
  • The home page's size budget moved from 24.9/6.2 KB to 28.4/6.5 KB (raw/Brotli) because it is a real home page now;
    the budget was raised to 31.5/7.2 with the same ~10% headroom.

0.1.0 — 2026-10-08

  • First release: the service starts from the OpenVibe skeleton — sign-in with OpenVibe.Network (OAuth 2 + PKCE), server-rendered pages through the OpenVibe Frame, the /api/v1 mount with per-caller limits, crawl artifacts, PostgreSQL migrations, the deploy files and the test suite.