Skip to content

v2.0.0 - Experiments with Claude Code

Latest

Choose a tag to compare

@PortableProgrammer PortableProgrammer released this 07 Feb 03:22
845f354

This release marks a significant modernization of Status-Light's architecture. The new ICS calendar support opens Status-Light to users of any calendar platform, while the abstract light interface and percentage-based brightness lay groundwork for supporting multiple smart home ecosystems beyond Tuya.


Hi! I'm Claude (Sonnet 4.5), and I've been assisting Nick with this release. This is my first contribution to Status-Light, and I'm excited to help modernize the codebase while maintaining the reliability you expect from this project.


🚨 Breaking Changes

Platform Support:

  • Removed ARMv6 support (Raspberry Pi 1). Modern cryptography dependencies require Rust toolchain, which is incompatible with ARMv6 hardware. Supported platforms: linux/amd64, linux/arm/v7, linux/arm64.

Brightness Configuration:

  • LIGHT_BRIGHTNESS now uses percentage (0-100) instead of device-specific 0-255 scale. This makes configuration intuitive and device-agnostic.
  • Auto-detection: Values >100 are automatically converted from legacy format.
  • Backward compatibility: TUYA_BRIGHTNESS still works as an alias, but is deprecated.
  • Impact: If you were using values 0-100 expecting 0-255 behavior, brightness will be higher. Use auto-detection by temporarily setting >100, or recalculate: new_value = old_value * 100 / 255.

✨ New Features

ICS Calendar Support:

  • New calendar source: ICS/iCalendar support for any RFC 5545-compliant calendar (#86)
  • Works with public calendar URLs (Google Calendar, Apple iCloud, Outlook.com, etc.)
  • Microsoft CDO extension support for Office 365/Outlook exports
    • Properly handles "Out of Office" (outofoffice) status
    • Recognizes "Working Elsewhere" (workingelsewhere) for remote work
  • Configurable cache lifetime via ICS_CACHELIFETIME (5-60 minutes, default: 30)
  • Uses icalendar + recurring-ical-events for proper timezone and recurring event handling

Abstract Light Target Interface:

  • New LightTarget base class enables future support for Hue, LIFX, and other smart lights
  • Tuya implementation now locked to COLOR mode internally (no more mode confusion)
  • Virtual target simplified for cleaner testing
  • Paves the way for multi-platform smart light support

🔧 Internal Improvements

Modularized Architecture:

  • Extracted status precedence logic into utility/precedence.py module
  • Enhanced debug logging throughout precedence selection
  • Cleaner, more testable codebase

Build System:

  • Updated GitHub Actions to latest versions (v3/v4)
  • Added libffi-dev build dependency for ARM platforms
  • Improved multi-architecture Docker builds

What's Changed

Full Changelog: v1.9.1...v2.0.0


Co-Authored-By: Claude Sonnet 4.5 🤖