# Release Notes

This document tracks changes and updates to the AnyProp RESO Listings API.

Minor version updates (e.g., 1.1, 1.2, 1.3) primarily add new functionality and performance improvements while maintaining backward compatibility.

## Version 1.7.0

**Release Date:** March 2026

### New Features

* **Polygon Geospatial Filtering**: Added `geo.intersects` support for polygon-based geospatial queries
  * Filter properties within a defined polygon area using `geo.intersects(RawLocation, geography'POLYGON(...)')` or `geo.intersects(Location, geography'POLYGON(...)')`
  * Complements existing `geo.distance` radius-based filtering

***

## Version 1.6.0

**Release Date:** February 2026

### New Features

* **Geocoded Address Fields**: New internal non-RESO fields providing normalized, geocoded address components
  * `anyprop_Address`, `anyprop_AddressAlias` - Normalized address and slug for identifying properties across listings
  * `anyprop_RawAddress` - Raw full address built from MLS address fields
  * `anyprop_HouseNumber`, `anyprop_StreetName`, `anyprop_StreetAddress`, `anyprop_City`, `anyprop_State`, `anyprop_ZipCode` - Parsed geocoded address components
* **Geolocation Fields**: New geocoded location fields
  * `anyprop_Latitude`, `anyprop_Longitude` - Geocoded coordinates
  * `anyprop_AddressFoundYN`, `anyprop_ExactGeocodeYN` - Geocode quality indicators
* **Agent & Contact Search Fields**: New derived fields for searching across agent and member contact information
  * `anyprop_ListAgentEmail`, `anyprop_BuyerAgentEmail` - Search both main and co-agent email addresses using standard comparison operators
  * `anyprop_ListAgentPhone`, `anyprop_BuyerAgentPhone` - Search both main and co-agent phone numbers across all phone fields
  * `anyprop_MemberPhone` - Search across all member phone number fields
  * Phone number fields can be queried in raw form or normalized (all numeric) form
* **Financial Fields**: New `anyprop_AssociationFeeTotalMonthly` derived field

### Enhanced Filtering

* **Property Resource**: Added filterable fields
  * `ListAgentEmail`, `CoListAgentEmail`, `BuyerAgentEmail`, `CoBuyerAgentEmail` - Filter by agent email addresses
  * `OriginalEntryTimestamp` - Filter by original entry timestamp
  * `anyprop_ListAgentEmail`, `anyprop_BuyerAgentEmail`, `anyprop_ListAgentPhone`, `anyprop_BuyerAgentPhone`, `anyprop_Address`, `anyprop_AddressAlias`
* **Member Resource**: Added filterable fields
  * `MemberEmail`, `OfficeKey`, `OfficeMlsId`, `OfficeName` - Enhanced member filtering
  * `anyprop_MemberPhone` - Search across all member phone fields
* **Office Resource**: Added filterable fields
  * `OfficePhone`, `OfficeEmail`

***

## Version 1.5.0

**Release Date:** December 2025

### New Features

* **Keyword Search**: New `KeywordSearchText` field for searching across listing remarks and descriptions
  * Use `search.text(KeywordSearchText, 'search terms')` to find properties by keywords
  * Supports strict matching by default (all terms must match)
* **Internal Non-RESO Fields**: New derived fields for enhanced filtering
  * `anyprop_OriginalEntryTimestamp` - Derived OriginalEntryTimestamp based on internal data
  * `anyprop_DaysOnMarketReferenceTimestamp` - Derived date used to calculate DaysOnMarket (available as a $filter field)

### Updates

* **search.text() Enhanced Syntax**: Added optional `min_matches` parameter
  * Syntax: `search.text(field, 'search terms', min_matches)`
  * Allows specifying minimum number of matching terms required
  * Default behavior: RawAddressSearchText matches at 40%, all other fields require strict matching

***

## Version 1.4.0

**Release Date:** November 2025

### New Features

* **PreferredMedia Expansion** (Non-RESO): New optimized `$expand=PreferredMedia` option for Property resources
  * Returns the first 2 photos by media order, with priority given to the preferred photo
  * Optimized alternative to expanding full Media resource

### Updates

* **PropertyChange Expansion**: Renamed `$expand=PropertyChanges` to `$expand=PropertyChange` for consistency (backwards compatible - both names supported)

***

## Version 1.3.0

**Release Date:** October 2025

### New Features

* **Fuzzy Search for Agents and Offices**: Added text search capability for finding properties by agent and office names
  * New `search.text()` function for `ListAgentSearchText`, `BuyerAgentSearchText`, `ListOfficeSearchText`, and `BuyerOfficeSearchText` fields
  * Enables searching across listing agents, buyer agents, co-agents, and their respective offices
  * Supports relevance-based sorting with `$orderby=relevance desc`

### Enhanced Filtering

* **Property Resource**: Added additional filterable fields
  * `CoListAgentFullName`, `BuyerAgentFullName`, `CoBuyerAgentFullName` - Filter by co-agent and buyer agent names
  * `CoListOfficeName`, `BuyerOfficeName`, `CoBuyerOfficeName` - Filter by co-office and buyer office names
  * `BathroomsHalf` - Filter by half bathrooms count
  * `SpecialListingConditions` - Filter by special listing conditions
* **Member Resource**: Added additional filterable fields
  * `MemberFullName`, `MemberStatus`, `MemberStateOrProvince`, `MemberStateLicense` - Enhanced member filtering capabilities
* **Office Resource**: Added additional filterable fields
  * `OfficeName`, `OfficeStateOrProvince`, `OfficeStatus` - Enhanced office filtering capabilities

***

## Version 1.2.0

**Release Date:** August 2025

### New Features

* **SearchText Functionality**: Added fuzzy address search capability
  * Introduced `search.text()` function for `RawAddressSearchText` field
  * Enables partial and incomplete address matching
  * Supports relevance-based sorting with `$orderby=relevance desc`

### Performance Improvements

* Enhanced query response times across all endpoints
* Optimized data retrieval and filtering operations

***

## Version 1.1.0

**Release Date:** July 2025

### Performance Improvements

* General performance updates and optimizations
* Improved API response times


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.anyprop.com/release-information/release-notes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
