Skip to content

Releases: DjonatanS/cloud-data-sync

Release v0.3.0

23 Apr 13:40

Choose a tag to compare

Changelog

[0.3.0] - 2025-04-23

📄 Documentation

  • Updated README.md with latest information and planned features.
  • Updated CHANGELOG.md to reflect recent changes.

🐳 Build

  • Updated Dockerfile (specify changes if known, e.g., base image, build steps).

[0.2.0] - 2025-04-20

✨ Features

⚡ Optimizations

  • Streaming Upload: Object synchronization now uses streaming directly from GetObject to UploadObject, eliminating the need to load the entire object content into memory before uploading.
    • Removed the use of io.ReadAll and strings.NewReader / bytes.NewReader for the intermediate buffer in the main synchronization flow.
    • (Affects: internal/sync/sync.go)

♻️ Refactoring

  • Atomic Counters: The counters for synchronized, skipped, and errored objects (syncCounter, skipCounter, errorCounter) now use sync/atomic.Int64 to ensure safety in concurrent environments.
    • (Affects: internal/sync/sync.go)
  • Context Management: Used errgroup.WithContext to propagate context cancellation to synchronization goroutines, allowing for faster shutdown in case of errors or external signals.
    • (Affects: internal/sync/sync.go)

Release v0.2.0

23 Apr 01:48

Choose a tag to compare

Changelog

[0.2.0] - 2025-04-20

✨ Features

⚡ Optimizations

  • Streaming Upload: Object synchronization now uses streaming directly from GetObject to UploadObject, eliminating the need to load the entire object content into memory before uploading.
    • Removed the use of io.ReadAll and strings.NewReader / bytes.NewReader for the intermediate buffer in the main synchronization flow.
    • (Affects: internal/sync/sync.go)

♻️ Refactoring

  • Atomic Counters: The counters for synchronized, skipped, and errored objects (syncCounter, skipCounter, errorCounter) now use sync/atomic.Int64 to ensure safety in concurrent environments.
    • (Affects: internal/sync/sync.go)
  • Context Management: Used errgroup.WithContext to propagate context cancellation to synchronization goroutines, allowing for faster shutdown in case of errors or external signals.
    • (Affects: internal/sync/sync.go)