This checklist should be followed before publishing the Dart 3 migration to pub.dev.
-
Code Migration Complete
- All code migrated to Dart 3
- Null safety fully implemented
- All analyzer issues resolved (only 3 expected warnings remain)
-
Testing
- All unit tests passing
- Integration tests passing
- Example app runs correctly
- Widget tests passing
-
Documentation
- README.md updated with Dart 3 information
- CHANGELOG.md updated with version 0.1.2 details
- MIGRATION_GUIDE.md created for users upgrading from 1.x
- API documentation with dartdoc comments
-
Version Management
- pubspec.yaml version updated to 0.1.2
- Breaking changes documented in CHANGELOG.md
-
Package Validation
-
flutter pub publish --dry-runpasses with expected warnings - Package size is reasonable (388 KB)
-
When ready to publish:
-
Commit all changes (optional, but recommended):
git add . git commit -m "Release version 0.1.2" git tag v0.1.2 git push origin master --tags
-
Publish to pub.dev:
flutter pub publish
-
Post-publication:
- Verify package appears correctly on pub.dev
- Test installation in a new project
- Create GitHub release with migration notes
- Consider announcing the update (Twitter, Reddit, etc.)
After publication, test in a new Flutter project:
flutter create test_rough_flutter
cd test_rough_flutter
flutter pub add rough_flutterThen verify the basic example works:
import 'package:flutter/material.dart';
import 'package:rough_flutter/rough_flutter.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
body: CustomPaint(
painter: RoughPainter(),
size: Size.infinite,
),
),
));
}
class RoughPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final generator = Generator(
DrawConfig.build(roughness: 2),
HachureFiller(),
);
final circle = generator.circle(
size.width / 2,
size.height / 2,
100,
);
canvas.drawRough(
circle,
Paint()..color = Colors.blue,
Paint()..color = Colors.red,
);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}After publication:
- Monitor GitHub issues for migration problems
- Be prepared to publish 2.0.1 for any critical fixes
- Update documentation based on user feedback