Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

1.0.0 - 2025-10-04

Added

  • Initial release of ReqFly
  • Req plugin for Fly.io Machines API with seamless integration
  • Apps API - Complete application management
    • List apps with organization filtering
    • Create new applications
    • Get application details
    • Destroy applications
  • Machines API - Full lifecycle management
    • List machines in an application
    • Create machines with comprehensive configuration
    • Get machine details
    • Update machine configuration
    • Start, stop, restart, and signal machines
    • Wait for machines to reach desired states
    • Destroy machines
    • Lease management (acquire and release)
    • Cordon and uncordon operations
    • Metadata and event queries
  • Secrets API - Secure secrets management
    • List application secrets
    • Create secrets with custom values
    • Generate random secrets
    • Delete secrets
  • Volumes API - Persistent storage management
    • List volumes
    • Create volumes with size and region specification
    • Get volume details
    • Update volume configuration
    • Extend volume size
    • Delete volumes
    • Create volume snapshots
    • List volume snapshots
  • Orchestrator - High-level multi-step workflows
    • Create app and wait for activation
    • Create machine and wait for ready state
    • Exponential backoff with jitter for polling
    • Configurable timeouts and intervals
  • Error Handling
    • Structured error responses with ReqFly.Error exception
    • Detailed error messages from API responses
    • Status code preservation
  • Retry Logic
    • Built-in retry with exponential backoff
    • Configurable retry strategies (:safe_transient, :transient, etc.)
    • Configurable max retries
  • Telemetry Support
    • Request lifecycle events (start, stop, exception)
    • Orchestrator operation events
    • Configurable telemetry prefixes
    • Rich metadata for observability
  • Testing Infrastructure
    • Comprehensive test suite with 187 tests
    • ExVCR integration for API cassette recording
    • Bypass integration for mock server testing
    • High test coverage across all modules
  • Documentation
    • Complete module documentation with examples
    • Detailed function documentation
    • Comprehensive README with usage examples
    • Getting started guide
    • Configuration examples for all patterns

Development Tools

  • Mix task for OpenAPI spec analysis (mix req_fly.analyze_spec)
  • Code quality tools (Credo, Dialyzer)
  • Automated formatting configuration