Releases: PierreJanineh-com/ProgressUI
Releases · PierreJanineh-com/ProgressUI
1.0.4
ProgressUI 1.0.4
🚨 Breaking Changes & Deprecations
- The progress growth direction is now controlled through the
GrowDirectionenum instead ofisClockwiseflag - The clockwise/counter-clockwise setting is now determined by the
GrowDirectionvalue
✨ New Features
- Added
GrowDirectionenum with three options:.start: Progress grows counter-clockwise from the top.end: Progress grows clockwise from the top.center: Progress grows outward from the center in both directions
- Added
setGrow(from:)modifier for configuring progress direction - Implemented center-out progress animation for symmetric progress display
🔄 Migration Guide
Before (1.0.3):
ProgressUI(progress: $progress)
.setIsClockwise(false) // For counter-clockwiseAfter (1.0.4)
Growth animation
ProgressUI(progress: $progress)
.setGrow(from: .start) // For counter-clockwise
// or
.setGrow(from: .end) // For clockwise
// or
.setGrow(from: .center) // For center-outSpinning animation
ProgressUI(progress: $progress)
.setIsSpinner(isClockwise: false) // For counter-clockwise
// or
.setIsSpinner() // For clockwise🎨 Improvements
- Added support for center-out progress animation
- Enhanced progress direction control with more intuitive API
- Improved progress trim calculations for smoother animations
📝 Documentation
- Added documentation for the new
GrowDirectionoptions - Updated example project to demonstrate different growth directions
- Added code examples for migration from previous versions
Full Changelog: 1.0.3...1.0.4
1.0.3
ProgressUI 1.0.3
🎉 New Features
- Added new linear progress indicator with customizable horizontal padding
- Added new
setShape(_:)modifier to switch between circular and linear progress styles - Introduced configurable spinner cycle duration for smoother animations
🏗 Architecture Improvements
- Created
BaseProgressprotocol to share functionality between progress types - Extracted circular progress into its own component for better maintainability
- Improved spinner animation system with pixel-perfect calculations
- Enhanced view model architecture for better state management
💄 UI Improvements
- Increased default opacity values for better visibility (0.5 → 0.8)
- Optimized animation performance with improved timer handling
- Added support for custom horizontal padding in linear progress
📝 Documentation
- Added documentation for new shape options and modifiers
- Updated example project with new linear progress demonstrations
- Updated demo GIF to showcase new features
🔧 Code Quality
- Reorganized project structure for better maintainability
- Split view model logic into separate files
- Improved code reusability through protocol-oriented design
Full Changelog: 1.0.2...1.0.3
1.0.2
ProgressUI Changelog
Version 1.0.2
Changes
- Updated minimum watchOS deployment target from 6.0 to 7.0
- Added GitHub Actions workflow for building the package
- Breaking Change: Removed setAnimation() with closure from version 1.0.1
Build System
- Added CI workflow for building Swift Package
- Added macOS build environment configuration
Platform Support
- Updated watchOS minimum version requirement to 7.0
Developer Notes
The animation property now accepts a direct Animation value instead of a closure
- Refactor ProgressUI modifiers to support both static and dynamic configs by @PierreJanineh in #7
- Refactor ProgressUI to use value-based Options for configuration, rem… by @PierreJanineh in #10
Full Changelog: 1.0.1...1.0.2
1.0.1
🔄 What’s Changed
- ✨ Added support for dynamic animation updates
You can now dynamically change the animation passed to.setAnimation(_:)on your progress views. This allows runtime switching between animation styles (e.g., spring, easeInOut, or none (easeInOut(duration: 0)) etc.) for a more flexible experience.
#5 by @PierreJanineh
Full Changelog: 1.0.0...1.0.1
1.0.0
Initial release of the ProgressUI package by @PierreJanineh in #1
- Customizable circular progress indicator for SwiftUI
- Support for dynamic coloring via Progressable protocol
- Multiple size presets (small, large)
- Spinner (indeterminate) mode with animation
- Customizable track, progress, and inner colors
-Adjustable stroke widths and line caps (rounded or square) - Animation options for smooth progress transitions
- Unified API for both binding and static progress values
- Fluent modifier API for configuration
- Well-documented public API and internal helpers
ProgressUI Example project by @PierreJanineh in #2
- Demonstrates usage of all major features
- Includes examples for dynamic coloring, spinner, and custom options
New Contributors
- @PierreJanineh made their first contribution in #1
Full Changelog: https://github.com/PierreJanineh-com/ProgressUI/commits/1.0.0