# Changelog

## [2.8.0] - 2026-07-08

### Added
- Added vendor-managed preorder cutoffs by market day and pickup location.
- Added low-stock alerts for seasonal produce, baked goods, dairy, and prepared foods.
- Added customer notes for pickup orders, including allergy and packaging preferences.

### Fixed
- Fixed duplicate pickup confirmation emails sent after vendors updated order quantities.
- Fixed incorrect sales tax rounding on mixed baskets with taxable and non-taxable items.
- Fixed mobile filtering issues when customers selected multiple product categories.

### Changed
- Updated vendor dashboard inventory tables to show reserved, available, and sold-out counts separately.
- Improved checkout copy for market pickup, delivery radius, and substitution preferences.

## [2.7.1] - 2026-06-20

### Added
- Added order export columns for stall number, pickup window, and vendor payout status.
- Added admin visibility into failed payment attempts and abandoned checkout sessions.

### Fixed
- Fixed an issue where sold-out items could briefly appear in featured vendor collections.
- Fixed payout summaries showing refunded orders as fulfilled revenue.
- Fixed address validation for rural routes and farm pickup locations.

### Changed
- Reduced background sync time for vendor inventory imports.
- Updated refund emails to include item-level refund details and payment timing.

## [2.7.0] - 2026-05-30

### Added
- Added weekly market collections for produce boxes, pantry staples, flowers, and prepared meals.
- Added support for vendor vacation holds and temporary stall closures.
- Added customer reorder shortcuts for frequently purchased items.

### Fixed
- Fixed cart totals when vendors changed item weights after checkout.
- Fixed pickup window availability not refreshing after large group orders.
- Fixed broken image fallbacks for vendor profile photos and product thumbnails.

### Changed
- Changed product search ranking to prioritize in-season items and vendors attending the next market.
- Updated vendor onboarding to separate business details, market attendance, and payout setup.