@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 1.7.5] - 2026-03-01
9+
10+ ### Fixed
11+ - ** Code Quality** : Fixed ruff E501 line-too-long error in api_client.py (#95 )
12+ - Split warning message across two lines using implicit string concatenation
13+ - Ensures compliance with 100-character line length limit
14+ - ** JSON Parsing** : Enhanced error handling when JSON parsing fails (#94 )
15+ - Now raises ApiError instead of silently returning raw text
16+ - Prevents type confusion in API client callers
17+ - ** Hostname Validation** : Corrected URL validation for owners.vacasa.com (#94 )
18+ - Fixed endswith() check that incorrectly matched malicious hostnames
19+ - Now uses proper domain-parts validation
20+ - ** Rate Limiting** : Added API request rate limiting to prevent throttling (#94 )
21+ - Implemented asyncio.Semaphore with max 5 concurrent requests
22+ - Prevents hitting Vacasa API rate limits during heavy operations
23+ - ** Thread Safety** : Improved signal handler implementations (#94 )
24+ - Added @callback decorator to _ handle_reservation_state methods
25+ - Removed fragile call_soon_threadsafe fallback code
26+ - Signal handlers now correctly run on event loop
27+
28+ ### Changed
29+ - ** Constants** : Replaced magic numbers with named constants (#94 )
30+ - CLIENT_ID_CACHE_TTL replaces hardcoded 3600
31+ - CALENDAR_LOOKBACK_DAYS / CALENDAR_LOOKAHEAD_DAYS replace 60 / 365
32+ - DEFAULT_CHECKIN_TIME / DEFAULT_CHECKOUT_TIME replace "16:00:00" / "10:00:00"
33+ - ** Logging** : Adjusted log levels for normal operations (#94 )
34+ - Occupancy changes now logged at info level instead of warning
35+ - Boundary timer scheduling logged at debug level instead of warning
36+ - Reduces noise in default logging configuration
37+ - ** Error Reporting** : Added warning log when statement parsing fails (#94 )
38+ - _ coerce_amount now logs warnings instead of silently returning None
39+
840## [ 1.7.4] - 2026-01-02
941
1042### Fixed
0 commit comments