Releases: chippokiddo/fairylights
Releases · chippokiddo/fairylights
2.3.0
What's New
- Added Spanish localization
Bug Fixes
- Fixed entitlements error
Other Changes
- Added app version in dropdown menu
- Simplified copyright text in
AboutView
- Updated copyright year in
Info.plist
Full Changelog: 2.2.2...2.3.0
2.2.2
Other Changes
- Added App Sandbox
- Added missing copyright string
- Dynamic copyright year
- Refactored code
Full Changelog: 2.2.1...2.2.2
2.2.1
Bug Fixes
- Automatic update checks now respect user preferences and run correctly once per day
Full Changelog: 2.2.0...2.2.1
2.2.0
What's New
- Added Settings package dependency
- Replaced settings with a new preferences window that consolidates general (previously settings) and about into a tabbed interface
Other Changes
- Removed
WindowManager
class - Removed header from general section
- Removed check for updates button from general section
- Added an icon next to check for updates automatically in general section
- Updated about section to have the same frame width as general section
Full Changelog: 2.1.2...2.2.0
Happy holidays! 🎄
2.1.2
Bug Fixes
- Fixed potential memory leaks and thread buildup caused by repeated toggles
Other Changes
- Cleaned up tasks and animations when toggling lights off
- Improved handling of screen changes to support dynamic monitor setups
- Improved resource usage to reduce memory consumption and lower CPU usage when lights are toggled
- General stability improvements
Full Changelog: 2.1.1...2.1.2
2.1.1
What's New
- Added
Command ⌘
+Q
as a keyboard shortcut in the menu for quitting the app
Bug Fixes
- Fixed menu bar icon opacity when toggled off/on
Full Changelog: 2.1.0...2.1.1
2.1.0
Note
Rereleased 2.1.0 because I forgot to commit and push WindowManager.swift
to the repo
What's New
- Hidden window titles
- Transparent titlebars
Bug Fixes
- Fixed an issue where windows could persist in memory after being closed
Other Changes
- Added
WindowManager
class to handle window references using weak bindings, improving memory management - Improved update check function
- Improved messages for both update availability and errors
- The header in settings window now displays 'Fairy Lights Settings'
Full Changelog: 2.0.1...2.1.0
2.0.1
What's New
- Disabled Check for Updates button and displays a 'Checking...' status while an update check is in progress
- Title bars on windows are now hidden
Other Changes
- Window frame widths now dynamically adjust based on the view configuration
Full Changelog: 2.0.0...2.0.1
2.0.0
What's New
- Migrated from Swift 5 to Swift 6
- Added keyboard shortcut
Command ⌘
+,
for settings
Other Changes
- Pre-calculated
startingOffset
and total spacing for wire and bulb loops, reducing redundant computations - Consolidated
xOffset
,yOffset
, and control point calculations - Released references immediately after closing windows to avoid holding unnecessary memory
- Optimized
refreshLights
to prevent redundant animations or operations during refresh - Guard conditions in
animateWindows
andrefreshLights
to prevent unnecessary calls when no windows are present - Unified alert logic into a single reusable
showAlert
method with optional completion handlers - Simplified management of
aboutWindow
andsettingsWindow
using a dictionary indexed by window IDs - Abstracted menu bar icon creation into a dedicated
menuBarIcon
method - Refactored version comparison logic
- Replaced raw strings with a
BulbColor enum
- Made bulb size configurable using a size property
- Improved fade in and out animation for lights when toggled on or off
- The
toggleGlow
logic now runs at random intervals between 0.5 and 2 seconds - Combined glow animation and color change logic into a single entry point
- Leveraged
repeatForever
for continuous glow animations without relying on timers - Used
Task
instead ofTimer
for improved control and to avoid resource leaks or unintended behavior
Full Changelog: 1.0.2...2.0.0
1.0.2
Note
This version introduced several new features and enhancements that should have been released as version 1.1.0 according to semantic versioning
Bug Fixes
- Fixed menu bar icon resizing logic
Other Changes
- Added HTTP response validation
- Added timeout interval to the request
- Added localization and accessibility support
- Added concurrency handling to prevent overlapping update checks
- Added memory management for
aboutWindow
andsettingsWindow
- Custom error types for more explicit error handling
- Fallback logic for asset selection
- Graceful decoding error handling with additional context if decoding fails
- Improved
checkForAppUpdates
error handling - Improved
isNewerVersion
logic
Full Changelog: 1.0.1...1.0.2