share_my_apk 1.1.4 copy "share_my_apk: ^1.1.4" to clipboard
share_my_apk: ^1.1.4 copied to clipboard

Build and upload Flutter Android APKs to Diawi, Gofile.io, and Firebase App Distribution. Production-ready CLI tool with security hardening, comprehensive error handling, and extensive testing.

๐ŸŽ‰ 1.1.4 - Code Cleanup for Publishing #

๐Ÿงน Package Publishing Preparation

Release Date: December 3, 2025

๐Ÿ”ง Code Quality Fixes #

  • โœ… Removed Unused Imports: Cleaned up unused dart:io and dart:async imports from console_logger.dart
  • โœ… Removed Unused Fields: Removed unused spinner-related fields (_spinnerTimer, _spinnerIndex, _spinner) that were no longer needed after console output simplification
  • โœ… Static Analysis: Fixed all dart analyze warnings to ensure clean package validation
  • ๐Ÿ“ฆ Version Update: Updated to 1.1.4 to supersede the 1.1.3-beta release

๐ŸŽ‰ 1.1.0 - The "Security & Reliability" Release #

๐Ÿ”’ Major Security Hardening & Production Enhancements

Release Date: December 3, 2025

๐Ÿ›ก๏ธ Critical Security Fixes #

  • โœ… Command Injection Protection: Replaced shell string interpolation with secure Process.run() using argument arrays to eliminate remote code execution vulnerability
  • โœ… Path Traversal Protection: Added comprehensive input sanitization for file names and paths, blocking .., /, \, and dangerous characters
  • โœ… API Token Redaction: Tokens now safely logged showing only first 4 characters (abcd****) to prevent exposure in logs and crash reports

๐Ÿš€ Reliability Improvements #

  • โฑ๏ธ HTTP Timeout Protection: Added 10-minute timeout for uploads, 30-second timeout for status checks, and 15-minute timeout for builds to prevent indefinite hanging
  • ๐Ÿ”„ Exponential Backoff: Implemented intelligent polling with exponential backoff (5s โ†’ 10s โ†’ 20s โ†’ 40s โ†’ 60s) and random jitter to reduce server load
  • ๐Ÿ”Œ Resource Management: Added dispose() methods to all services for proper HTTP client cleanup and prevention of connection leaks
  • ๐ŸŽฏ Input Validation: Enhanced CliOptions with provider validation, Firebase App ID format checking, and required token verification

๐Ÿ“Š Enhanced Error Handling #

  • ๐Ÿ†• BuildException: New structured exception for build failures with full context (exitCode, stdout, stderr, workingDirectory)
  • ๐Ÿ†• UploadException: New structured exception for upload failures with detailed context (provider, filePath, statusCode, responseBody, originalError)
  • โœจ Better Error Messages: All errors now include helpful suggestions and clear resolution paths

๐Ÿ”ง Quality Improvements #

  • ๐Ÿ“ฆ Constants Extraction: New UploadLimits class centralizes all magic numbers (size limits, timeouts) for easier maintenance
  • ๐Ÿ” Flutter Version Checking: Automatic Flutter SDK version verification (minimum 3.10.0) with helpful update suggestions
  • ๐Ÿ”„ Retry Logic: Enhanced RetryUtil with exponential backoff for transient network failures
  • ๐Ÿ“ File Size Validation: Pre-upload validation for all providers with clear limit messages
  • ๐Ÿ“ Improved Logging: Better use of log levels (info/fine/warning/severe) throughout the codebase

๐Ÿงช Testing & Validation #

  • โœ… Zero Static Analysis Errors: All code passes dart analyze with zero issues
  • โœ… 93.1% Test Pass Rate: 94 of 101 tests passing, covering all critical functionality
  • โœ… 150/150 Pub Points: Maintained perfect pub.dev quality score

๐Ÿ“š Documentation #

  • ๐Ÿ“– Comprehensive Release Notes: Added detailed RELEASE_v1.0.0.md with migration guides
  • ๐Ÿ“‹ Enhanced API Documentation: Improved inline dartdoc comments across all public APIs
  • ๐ŸŽฏ Better Error Context: All exceptions now provide actionable debugging information

๐ŸŽ‰ 1.0.0 - The "Production Ready" Release #

๐Ÿš€ First Stable Production Release

  • โœ… Production Ready: Upgraded from beta to stable 1.0.0 release after comprehensive testing and validation.
  • ๐Ÿงน Code Cleanup: Removed unused imports and resolved all static analysis warnings.
  • ๐Ÿ“ฆ Package Validation: Passed all pub.dev validation checks for production publishing.
  • ๐Ÿ† Quality Assurance: Comprehensive audit completed with 100+ tests passing and zero issues.
  • ๐Ÿ“š Documentation Complete: All documentation updated for production release status.

๐Ÿš€ 0.5.1-beta - The "Code Quality & Refinement" Release #

โœจ Codebase Polish & Test Enhancements

  • ๐ŸŽจ Code Formatting: Applied dart format for consistent code style across the project.
  • ๐Ÿงน Linting Fixes: Addressed curly_braces_in_flow_control_structures and other minor linting issues.
  • ๐Ÿ–ฅ๏ธ Console Output Refactor: Replaced print statements with stdout.writeln for better control and consistency in console output.
  • ๐Ÿงช Test Improvements: Updated Future test expectations to use completes and await expectLater for more idiomatic asynchronous testing.
  • ๐Ÿ—‘๏ธ Redundant Imports Removed: Cleaned up unnecessary test imports in test/share_my_apk_test.dart.
  • ๐Ÿ“– Documentation Clarity: Added explicit "Usage", "Installation", and "Examples" sections to README.md for improved navigation and clarity.

๐Ÿš€ 0.5.0 - The "Fully Automated & Comprehensive" Release #

โœจ Major UI/UX & Automation Improvements

  • ๐Ÿš€ Fully Automated Uploads:

    • Removed pre-upload confirmation dialog for streamlined, non-interactive operation.
    • Tool now proceeds directly to upload after build completion.
    • Perfect for CI/CD pipelines and automated workflows.
  • ๐Ÿ”ง Comprehensive Build Pipeline:

    • Added automatic FVM detection - uses fvm flutter if .fvm directory exists.
    • Integrated flutter clean before builds for fresh, reliable builds.
    • Added automatic flutter pub get to ensure dependencies are up-to-date.
    • Implemented automatic localization generation (flutter gen-l10n) when lib/l10n exists.
    • New CLI flags: --no-clean, --no-pub-get, --no-gen-l10n to disable individual steps.
  • ๐ŸŽจ Colorful & Fun Logs:

    • Added emojis and colors to log messages for a more engaging experience.
    • Assigned specific emojis and colors to each log level for better structure.
    • Re-introduced timestamps in a friendly format.
    • Improved layout with indentation and spacing for readability.
    • Created a special, highlighted box for the final success message.
  • ๐Ÿ”ง Bug Fixes & Configuration Improvements:

    • Fixed a critical bug where the provider from share_my_apk.yaml was ignored.
    • Corrected the Diawi upload success status code to prevent timeouts.
  • ๐Ÿ“ฆ Dependency Updates:

    • Added the intl package for date formatting.

๐Ÿš€ 0.4.0-beta - The "Rock-Solid & Ready" Release #

๐ŸŽฏ Major API Integration Fixes & Comprehensive Testing

  • ๐Ÿ”ง Fixed Gofile API Integration:

    • Corrected server endpoint to https://api.gofile.io/servers
    • Fixed upload endpoint to use proper /contents/uploadfile path
    • Improved response parsing for download links
    • Now successfully handles large files (tested with 113.4MB APKs)
  • ๐Ÿ”ง Enhanced Diawi API Integration:

    • Implemented proper asynchronous job polling mechanism
    • Added timeout handling (30 attempts with 5-second intervals)
    • Improved status checking with proper error handling
    • Fixed response parsing for final download links
  • ๐Ÿงช Comprehensive Testing Suite:

    • Added 100+ unit tests covering all major components
    • Created 6 test categories: Upload services, build services, CLI, error handling, integration
    • 19 test files ensuring reliability and preventing regressions
    • Added TESTING.md with complete testing documentation
  • ๐Ÿ›ก๏ธ Enhanced Error Handling:

    • Improved upload service factory with better validation
    • Added case-insensitive provider matching
    • Enhanced error messages for better debugging
    • Robust handling of null/empty inputs and edge cases
  • โœ… Production-Ready Validation:

    • Successfully tested real uploads to both Diawi and Gofile
    • Verified automatic provider switching for large files
    • Validated configuration loading and CLI argument parsing
    • All code passes static analysis (dart analyze)
  • ๐Ÿ“š Updated Documentation:

    • Comprehensive testing documentation
    • Updated API integration details
    • Enhanced troubleshooting guide
    • Better error handling examples

โš ๏ธ Beta Release Note: This version includes significant API fixes and comprehensive testing. While thoroughly tested in development, we recommend testing in your specific environment before production use.

๐Ÿš€ 0.3.2 - The "Polished & Perfected" Release #

  • โœจ Improved Readability: We've polished the code to make it cleaner and more consistent. You won't see the changes, but you'll feel the love.
  • ๐Ÿ“ Better Documentation: Added more details to our project documentation, making it easier for everyone to contribute.

๐Ÿš€ 0.3.1 - The "Oops, We Fixed It" Release #

  • ๐Ÿ› Bug Fix: Fixed a critical issue that could cause the build process to fail. Now, it's smooth sailing!
  • โฌ†๏ธ Under the Hood: Updated our dependencies to the latest versions for better performance and security.
  • ๐Ÿ“ Clearer Instructions: We've added more detailed comments to the code to make it easier to understand.

๐Ÿš€ 0.3.0 - The "Let's Get Serious (About Fun)" Release #

  • โœจ Major Refactor: We've completely reorganized the codebase to make it more robust and easier to maintain.
  • โฌ†๏ธ Fresher Than Ever: All our dependencies have been updated to the latest versions.
  • ๐Ÿ“ Fun New Docs: Our README.md is now more engaging and easier to read.
  • ๐Ÿ’ก Clearer Examples: Our examples are now so simple that anyone can follow along.

๐ŸŽ‰ 0.2.0-alpha - The "We're Getting Fancy" Release #

  • ๐Ÿš€ Quick Start: You can now use the init command to create a configuration file automatically.
  • ๐ŸŽจ Better Help: The --help command has been redesigned to be more intuitive and helpful.
  • โš™๏ธ Easy Configuration: We now support a share_my_apk.yaml file, so you can set your preferences once and forget about it.
  • ๐Ÿ”‘ Separate Tokens: You can now use different API tokens for Diawi and Gofile.
  • ๐Ÿ› Bug Fix: Fixed a bug that was causing issues with API tokens.

๐Ÿฃ 0.1.0-alpha - The "Hello, World!" Release #

  • โ˜๏ธ More Choices: You can now upload your APKs to either Diawi or Gofile.io.
  • ๐Ÿ”„ Smart Uploads: If your APK is too large for Diawi, we'll automatically switch to Gofile.io.
  • ๐ŸŽจ Custom Names: You can now give your APK a custom name.
  • ๐Ÿ“ Tidy Folders: We've made it easier to keep your build folders organized.
  • ๐Ÿ“ You're in Control: You can now specify a custom output directory for your APK.
  • ๐Ÿชต Stay Informed: We've added logging so you can see what's happening behind the scenes.
2
likes
150
points
18
downloads

Publisher

verified publisherwebmobtech.com

Weekly Downloads

Build and upload Flutter Android APKs to Diawi, Gofile.io, and Firebase App Distribution. Production-ready CLI tool with security hardening, comprehensive error handling, and extensive testing.

Repository (GitHub)
View/report issues
Contributing

Topics

#apk-builder #android #upload #flutter #cli

Documentation

API reference

License

MIT (license)

Dependencies

args, http, intl, logging, meta, path, process_run, yaml

More

Packages that depend on share_my_apk