native-update
Version:
Foundation package for building a comprehensive update system for Capacitor apps. Provides architecture and interfaces but requires backend implementation.
169 lines (133 loc) • 5.38 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.7] - 2025-01-15
### Fixed
- **Critical Android Build Issues**:
- Fixed Google Play app-update library dependencies by using explicit version 2.1.0 instead of variable
- Resolved kotlinVersion resolution issues by hardcoding version in gradle plugin
- Made all Google Play Services dependencies use explicit versions to prevent resolution errors
- Added variables.gradle file for better variable management
- Ensured no manual intervention is required by users
### Changed
- Updated package version to 1.0.7
- Hardcoded critical dependency versions in Android build.gradle to prevent resolution issues
## [1.0.6] - 2025-01-15
### Fixed
- **Android Build Issues**:
- Fixed Google Play app-update library version error (changed from non-existent 18.2.0 to correct 2.1.0)
- Fixed `kotlinVersion` MissingPropertyException by properly defining it in buildscript ext block
- Added missing Kotlin stdlib dependency
- Reorganized build.gradle structure to ensure proper variable scope
### Documentation Fixes
- Corrected all API method references to match TypeScript definitions
- Fixed method signatures and parameters across all documentation
- Updated event names to match the 4 defined events (downloadProgress, updateStateChanged, backgroundUpdateProgress, backgroundUpdateNotification)
- Removed references to non-existent methods
- Fixed broken documentation links
### Android Configuration
- kotlinVersion: 1.9.22 (stable version)
- playAppUpdateVersion: 2.1.0 (correct Google Play version)
- playReviewVersion: 2.0.1
- All dependencies now use proper version variables
## [1.4.0] - 2025-01-02
### Added
- Complete TypeScript implementation with strict typing
- Core plugin architecture with modular design
- Comprehensive error handling system
- Security validation framework
- Bundle management system
- Download manager with retry logic
- Version management capabilities
- Configuration manager
- Logging system with multiple log levels
- Cache management
- Background update support
- Plugin initialization system
### Changed
- Migrated from class-based to functional architecture
- Improved type definitions and interfaces
- Enhanced security with input validation
- Better error messages and error codes
### Fixed
- Removed circular dependencies
- Fixed TypeScript compilation issues
- Proper exclusion of test files in tsconfig
- Removed console.log statements in favor of Logger
## [0.0.2] - 2024-12-01
### Added
- Comprehensive documentation for all features
- Bundle signing and security utilities
- CI/CD pipeline with GitHub Actions
- Example update server implementation
- TypeScript strict mode
- ESLint v9 flat config support
### Fixed
- Security vulnerabilities in update process
- TypeScript compilation errors
- Path traversal prevention
### Security
- Enforced HTTPS for all update downloads
- Added RSA signature verification
- Implemented checksum validation
- Added certificate pinning support
## [0.0.1] - 2024-01-08
### Added
- Initial release of Capacitor Native Update plugin
- Live/OTA update functionality
- Bundle download and management
- Multiple update strategies (immediate, background, manual)
- Delta update support
- Automatic rollback on failed updates
- Update channels (production, staging, development)
- End-to-end encryption and signature verification
- Bundle integrity checks with SHA-256/512 checksums
- Native app update functionality
- App store version checking
- Immediate and flexible update flows (Android)
- Direct app store navigation
- Version comparison and update priority
- App review functionality
- In-app review prompts using native APIs
- Smart triggering with configurable conditions
- Rate limiting to respect platform quotas
- Security features
- HTTPS enforcement by default
- Certificate pinning support
- Public key signature verification
- Input validation and sanitization
- Secure storage using platform keystores
- Platform support
- iOS implementation using Swift
- Android implementation using Kotlin
- Web fallback implementation
- Comprehensive TypeScript definitions
- Example application demonstrating all features
- Extensive documentation
- API reference
- Security guidelines
- Migration guide
- Feature overview
### Security
- Enforced HTTPS for all update operations by default
- Required checksum validation for all bundle downloads
- Implemented path traversal prevention
- Added secure storage for sensitive configuration
### Known Issues
- ESLint configuration needs update for v9 compatibility
- Certificate pinning requires manual certificate configuration
- Delta updates require server-side implementation
## Future Releases
### [0.1.0] - Planned
- Add delta update server reference implementation
- Improve offline update handling
- Add update scheduling APIs
- Enhanced progress reporting with ETA
- Batch update support
### [0.2.0] - Planned
- Machine learning for optimal update timing
- Peer-to-peer update distribution
- Advanced A/B testing framework
- Custom update UI components
- Differential compression algorithms