Skip to content

2.3.0

Choose a tag to compare

@lamongabriel lamongabriel released this 17 Jul 17:05
· 9 commits to main since this release

🚀 Sync to Cloud v2.3.0 – Scheduling, Test Coverage, and API Refactor

Release date: July 17, 2025
Version: v2.3.0

Highlights

This release introduces full support for scheduled and recurring transfers, adds comprehensive test coverage across front-end and API, and delivers a complete API refactor for consistency and maintainability. We’ve also fixed resource exhaustion bugs and optimized back-end services for scalability.


✨ New Features

  • Scheduled & Recurring Transfers
    Users can now create transfers that run at a future time, with recurrence options such as weekly or monthly. Transfers can be paused, resumed, updated, or canceled directly from the UI.

  • Scheduling Control
    Added fields for selecting start date and time, recurrence type, and duration. This is fully integrated with Cloud Scheduler for automatic execution.


⚙️ Improvements & Refactors

  • API Refactor
    Major refactor of API components—controllers, services, schemas, modules—for improved structure, maintainability, and testability.

  • UI Simplification
    The front-end now cleanly separates the views for transfer templates and transfer runs, improving user experience and clarity.

  • Cloud Scheduler Integration
    Automatically handles the execution of scheduled transfers via Google Cloud Scheduler.

  • Resource Stability Fixes
    Fixed backoff limit configuration in Kubernetes jobs to avoid premature termination due to resource limits.


🐛 Fixes

  • Transfer Job Reliability
    Resolved failures caused by resource exhaustion in rclone jobs by properly tuning backoff limits and memory settings.

🧪 Testing

  • Front-End Testing (80% Coverage)
    Introduced tests using Vitest, MSW, React Testing Library, and API mocks for major UI components.

  • API Testing (100% Coverage)
    All API routes and services are now covered by Pytest tests, ensuring reliability and future-proofing.


🔧 How to Upgrade

1. Run the Cloud Build Trigger (Once per Tenant)

Before updating, you'll need to run terraform to create the Cloud Scheduler and update the Firestore indexes.

  1. Open Google Cloud Console
  2. Select your Sync to Cloud tenant project
  3. In the search bar, type "Triggers" and click the result under Cloud Build
  4. Run: terraform-production-deployment-trigger
  5. Go to the History tab and ensure it completes successfully

This step enables listing of transfer tasks in the UI.

2. Perform the Normal App Update

  1. Visit your tenant UI:
    https://sync-to-cloud-ui-[project_number].us-central1.run.app/exports
  2. Click the ⚙️ cog icon > Admin Dashboard
  3. Under "Updates Available", click "Update Now"
  4. Close the UI, wait ~5 minutes
  5. Reopen and confirm the update message:
    “Your system is up to date.”

Thanks to all contributors involved in this release:
@lamongabriel @spencexyz @iuryescano