flutterfy 1.1.1+1727741864
flutterfy: ^1.1.1+1727741864 copied to clipboard
A powerful command-line tool for Flutter and Dart projects to automatically manage semantic version updates in pubspec.yaml files. Supports patch, minor, and major version increments with intelligent [...]
Changelog #
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.
1.1.1+1727741864 - 2025-08-11 #
Added #
- π pub.flutter-io.cn Package Support: Full restructure for pub.flutter-io.cn distribution
- π¦ Global Installation: Install globally with
dart pub global activate flutterfy
- π§ Programmatic API: Use Flutterfy functions directly in your Dart code
- π Comprehensive Examples: Added example/ directory with usage demonstrations
- π·οΈ Better Argument Parsing: Improved CLI with
--build=NUMBER
syntax - π― Enhanced Documentation: Professional README with badges, examples, and guides
- π§ͺ Test Framework: Added test structure for better reliability
- π Cross-Platform Support: Explicit support for all major platforms
- π Rich Metadata: Added topics, funding, and repository information
Improved #
- π‘οΈ Error Handling: More descriptive error messages with emojis
- π» CLI Interface: Cleaner help messages and better UX
- π Version Detection: More robust regex patterns for version parsing
- π Code Documentation: Added comprehensive inline documentation
- π¨ Output Formatting: Better visual feedback with success/error indicators
Changed #
- ποΈ Project Structure: Reorganized to follow pub.flutter-io.cn standards
- Main logic moved to
lib/src/version_updater.dart
- CLI executable in
bin/flutterfy.dart
- Public API exported from
lib/flutterfy.dart
- Main logic moved to
- π Dependencies: Added useful packages (args, yaml, path, io)
- π― Targeting: Updated SDK constraints to
>=3.0.0 <4.0.0
Fixed #
- π Build Number Handling: Fixed edge cases with custom build numbers
- π Version Transitions: Better handling of versions without build numbers
- π File Encoding: Improved file reading with proper error handling
1.0.1+1727741864 - 2024-09-30 #
1.0.0 - 2024-09-30 #
Added #
- π Initial Release: First working version of Flutterfy
- π Version Management: Support for major, minor, and patch version increments
- π¨ CLI Interface: Command-line functionality for version updates
- π‘οΈ Error Handling: Basic error handling for missing files and invalid versions
- π Build Numbers: Support for build number generation and custom values
- π― Semantic Versioning: Full compliance with semantic versioning standards
Features #
- Update versions with simple commands:
major
,minor
,patch
- Automatic build number generation using timestamps
- Custom build number support
- Validation of pubspec.yaml format and structure
- Cross-platform compatibility (Windows, macOS, Linux)
Notes #
- Ensure that the
pubspec.yaml
file has the correct format (e.g.,version: 1.0.0+1
) for the functionality to work properly - Recommended to add
+1
to the version if you receive the error "version not found in pubspec.yaml" - Initial version focused on core functionality and reliability
π Upcoming Features (Roadmap) #
1.2.0 (Planned) #
- π¨ Interactive CLI with prompts and confirmations
- π Version history tracking and rollback capabilities
- π Git tag automation integration
- π Web dashboard for team version management
- π± Flutter plugin for IDE integration
1.3.0 (Future) #
- π€ AI-powered version suggestions based on commit messages
- π Analytics and version usage insights
- π Advanced validation rules and policies
- π Multi-project workspace support
- π― Custom version patterns and formats
π Migration Guide #
From 1.0.x to 1.1.x #
No breaking changes! Simply update your installation method:
Old way:
dart run bin/flutterfy.dart patch
New way (recommended):
dart pub global activate flutterfy
flutterfy patch
Programmatic Usage (New in 1.1.0) #
import 'package:flutterfy/flutterfy.dart';
// Now you can use Flutterfy in your Dart code
updateVersion('patch', null);
updateVersion('minor', '42');
π€ Contributing #
We follow Conventional Commits for our changelog generation.
Commit Types #
feat:
- New featuresfix:
- Bug fixesdocs:
- Documentation changesstyle:
- Code style changesrefactor:
- Code refactoringtest:
- Adding testschore:
- Maintenance tasks
Example #
git commit -m "feat: add interactive CLI prompts"
git commit -m "fix: resolve build number parsing issue"
git commit -m "docs: update installation instructions"