Skip to content

Conversation

@OneXeor
Copy link
Owner

@OneXeor OneXeor commented Jan 13, 2026

Summary

  • Complete API redesign with Kotlin DSL for configuration
  • New KDownloaderConfig for global settings
  • DownloadRequest with DSL builder for easy configuration
  • DownloadTask interface with fluent listener API
  • Sealed classes for DownloadState and DownloadError (type-safe error handling)
  • Authentication support (Bearer token, Basic auth)
  • Custom headers support
  • Network type restrictions (WiFi only)
  • Updated Android implementation using DownloadManager
  • Updated iOS implementation using NSURLSession

Breaking Changes

This is a major API change. The old API (downloadFile, cancelDownloadById, etc.) has been replaced with the new DSL-based API.

Test plan

  • Test basic download on Android
  • Test basic download on iOS
  • Test with authentication headers
  • Test WiFi-only restriction
  • Test cancel functionality
  • Test error handling

Closes #2

- Add KDownloaderConfig for global configuration
- Implement DownloadRequest with DSL builder
- Add DownloadTask interface with fluent listener API
- Create sealed classes for DownloadState and DownloadError
- Support authentication (Bearer, Basic) and custom headers
- Add network type restrictions (WiFi only)
- Update Android implementation with DownloadManager
- Update iOS implementation with NSURLSession
- Update README with new API documentation
- Bump version to 0.2.0

Closes #2
@OneXeor OneXeor self-assigned this Jan 13, 2026
@OneXeor OneXeor merged commit cf6bc7f into main Jan 13, 2026
2 checks passed
@OneXeor OneXeor deleted the feature/api-redesign branch January 13, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.2.0 - API Redesign

2 participants