Changelog
All notable changes to MStore Mobile will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.[1.0.0] - 2024-10-05
🎉 Initial Release
Added
-
Cashier System
- Real-time product search and filtering
- Barcode scanning support
- Shopping cart with quantity management
- Multiple payment methods (Cash, Card, E-Wallet)
- Discount and promo application
- Receipt printing via Bluetooth thermal printer
- Offline-first capability
-
Inventory Management
- Product CRUD operations
- Stock tracking and monitoring
- Low stock alerts
- Stock adjustment and opname
- Batch operations
- Category management
-
Dashboard & Analytics
- Sales summary (daily, weekly, monthly)
- Revenue charts and graphs
- Top selling products
- Transaction statistics
- Performance metrics
-
Authentication
- Email/Password login
- Google Sign-In
- Apple Sign-In
- JWT-based authentication
- Auto token refresh
- Role-based access control (RBAC)
-
User Management
- Employee management
- Role assignment
- Permission management
- Activity logging
-
Transaction History
- Complete transaction records
- Search and filter
- Transaction details
- Export to PDF/Excel
-
Reports
- Sales reports
- Inventory reports
- Financial reports
- Custom date range
- Export functionality
-
Notifications
- Push notifications via FCM
- In-app notifications
- Low stock alerts
- Transaction notifications
-
Settings
- Branch management
- Printer configuration
- Language selection (ID/EN)
- Theme customization
- Profile management
Technical Features
-
Architecture
- Clean Architecture implementation
- BLoC pattern for state management
- Dependency Injection with GetIt + Injectable
- Repository pattern for data access
-
Networking
- Dio + Retrofit for HTTP
- Interceptor pipeline (Correlation, Headers, Auth, Refresh, Retry, Logging)
- HTTP/2 support
- Auto token refresh
- Retry mechanism
-
Database
- Isar (NoSQL) for local storage
- Offline-first architecture
- Background sync
- Conflict resolution
-
Real-Time
- MQTT integration for real-time updates
- Auto-reconnect
- Topic subscription management
-
Logging & Monitoring
- Structured logging with AppLog
- BLoC observer for state tracking
- Firebase Crashlytics integration
- Performance monitoring
-
Localization
- Multi-language support (ID/EN)
- Slang for type-safe translations
- Dynamic language switching
-
Platform Support
- iOS 12.0+
- Android 5.0+ (API 21+)
- Web (Chrome, Safari, Firefox)
- Windows 10+
- macOS 10.14+
🔧 Technical Stack
- Flutter 3.8+
- Dart 3.8+
- BLoC 9.0+
- Dio 5.9+
- Retrofit 4.7+
- Isar Community (custom fork)
- Firebase (Auth, Firestore, FCM, Crashlytics)
- MQTT5 Client
[Unreleased]
Planned Features
- Loyalty program integration
- Customer management
- Supplier management
- Purchase orders
- Multi-warehouse support
- Advanced analytics
- Biometric authentication
- NFC payment support
- Invoice generation
- Expense tracking
In Progress
- Enhanced reporting dashboard
- Bulk product import
- Advanced search filters
- Performance optimizations
Version History
Version Naming Convention
Release Schedule
- Major releases: Quarterly
- Minor releases: Monthly
- Patch releases: As needed
- Hotfixes: Immediate (for critical issues)
Migration Guides
Upgrading from Beta to 1.0.0
Database Migration
Breaking Changes
-
Authentication
- Old:
AuthService.login(email, password) - New:
AuthRepository.login(LoginRequest(email, password))
- Old:
-
Product API
- Old:
ProductService.getProducts() - New:
ProductRepository.getProducts()
- Old:
-
State Management
- Migrated from Provider to BLoC
- Update all state access patterns
Configuration Changes
Known Issues
Current Limitations
-
Offline Mode
- Some features require internet connection
- Sync conflicts need manual resolution
-
Printer Support
- Limited to Bluetooth thermal printers
- USB printer support coming soon
-
Platform-Specific
- Web version has limited offline capability
- iOS requires iOS 12.0 or higher
Workarounds
- For sync conflicts: Clear local cache and re-sync
- For printer issues: Ensure Bluetooth permissions granted
- For web offline: Use desktop/mobile app instead
Deprecations
Deprecated in 1.0.0
- None (initial release)
Planned Deprecations
- None currently planned
Security Updates
1.0.0 Security Features
- JWT token-based authentication
- Encrypted local storage
- HTTPS-only communication
- Token auto-refresh
- Role-based access control
Security Best Practices
- Always use HTTPS endpoints
- Never hardcode API keys
- Regularly update dependencies
- Enable Crashlytics in production
- Review security logs regularly
Contributors
Core Team
- Lead Developer: Faisal Affan
- Backend Team: [Team members]
- QA Team: [Team members]
- Design Team: [Team members]
Special Thanks
- Flutter team for the amazing framework
- Open source community for libraries
- Beta testers for valuable feedback
Support
Getting Help
- 📖 Documentation
- 💬 Internal Slack channel
- 📧 Email: [email protected]
- 🐛 Issue tracker: [Internal]
Reporting Issues
Please include:- App version
- Platform and OS version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots/logs if applicable
Last Updated: October 14, 2024
Current Version: 1.0.0+202410052314