Skip to content

Release v1.7.5

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Mar 06:53
709f132

Fixed

  • Code Quality: Fixed ruff E501 line-too-long error in api_client.py (#95)
    • Split warning message across two lines using implicit string concatenation
    • Ensures compliance with 100-character line length limit
  • JSON Parsing: Enhanced error handling when JSON parsing fails (#94)
    • Now raises ApiError instead of silently returning raw text
    • Prevents type confusion in API client callers
  • Hostname Validation: Corrected URL validation for owners.vacasa.com (#94)
    • Fixed endswith() check that incorrectly matched malicious hostnames
    • Now uses proper domain-parts validation
  • Rate Limiting: Added API request rate limiting to prevent throttling (#94)
    • Implemented asyncio.Semaphore with max 5 concurrent requests
    • Prevents hitting Vacasa API rate limits during heavy operations
  • Thread Safety: Improved signal handler implementations (#94)
    • Added @callback decorator to _handle_reservation_state methods
    • Removed fragile call_soon_threadsafe fallback code
    • Signal handlers now correctly run on event loop

Changed

  • Constants: Replaced magic numbers with named constants (#94)
    • CLIENT_ID_CACHE_TTL replaces hardcoded 3600
    • CALENDAR_LOOKBACK_DAYS / CALENDAR_LOOKAHEAD_DAYS replace 60 / 365
    • DEFAULT_CHECKIN_TIME / DEFAULT_CHECKOUT_TIME replace "16:00:00" / "10:00:00"
  • Logging: Adjusted log levels for normal operations (#94)
    • Occupancy changes now logged at info level instead of warning
    • Boundary timer scheduling logged at debug level instead of warning
    • Reduces noise in default logging configuration
  • Error Reporting: Added warning log when statement parsing fails (#94)
    • _coerce_amount now logs warnings instead of silently returning None

What's Changed

Full Changelog: v1.7.4...v1.7.5