Skip to content

Releases: PierreJanineh-com/ProgressUI

1.0.4

16 May 17:38
b60500d

Choose a tag to compare

ProgressUI 1.0.4

🚨 Breaking Changes & Deprecations

  • The progress growth direction is now controlled through the GrowDirection enum instead of isClockwise flag
  • The clockwise/counter-clockwise setting is now determined by the GrowDirection value

✨ New Features

  • Added GrowDirection enum 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-clockwise

After (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-out

Spinning 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 GrowDirection options
  • 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

15 May 20:33
ff3f07f

Choose a tag to compare

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 BaseProgress protocol 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

12 May 21:41

Choose a tag to compare

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

11 May 21:17
907a647

Choose a tag to compare

🔄 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

10 May 15:55
620c4e2

Choose a tag to compare

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

Full Changelog: https://github.com/PierreJanineh-com/ProgressUI/commits/1.0.0