Releases: jack1590/roku-pkg-cli
Release list
Race Condition Fix
🐛 Bug Fixes
- Fixed critical race condition that caused "manifest does not exist" errors during package generation
- Resolved BrightScript compiler cleanup conflicts with roku-deploy file access
- Added comprehensive temp directory cleanup for all error scenarios
✨ Improvements
- Cleaner output - Removed debug console logs for better user experience
- Robust error handling - Proper cleanup on all failure paths
- Production ready - Stable, professional codebase
🔧 Technical Details
- Uses safe temporary directory approach (
.roku-deploy-temp) to isolate deployment files - Prevents race conditions where compiler cleanup interferes with roku-deploy
- Ensures temp directory cleanup in success, error, and failure scenarios
This release resolves the core issue preventing successful package generation.
Fixed CLI Version Display
🛠️ Critical Bug Fix
CLI Version Display Fixed
- Fixed hardcoded version: CLI now shows the actual package version instead of always showing "1.0.0"
- Dynamic version reading: Version is now read from package.json at runtime
- Proper version reporting:
roku-pkg --versionnow correctly displays the installed version
Technical Details
- Removed hardcoded version '1.0.0' from src/index.ts
- Added dynamic version reading from package.json
- This ensures CLI version always matches the npm package version
What's Included
- ✅ Correct Version Display:
roku-pkg --versionnow shows 1.1.4 - ✅ All Previous Features: Device discovery, automation flags, global config, clean CI/CD
- ✅ Node.js 18+ Support: Modern Node.js compatibility
Install with: npm install -g roku-pkg-cli@1.1.4
Note: This release fixes the version display issue present in all previous versions.
Fixed Automatic Publishing Workflow
🛠️ Bug Fixes
GitHub Actions Workflow Fix
- Fixed version update logic in CI/CD pipeline
- Intelligent version checking prevents "Version not changed" errors
- Improved logging for better debugging of publish process
Technical Details
- Workflow now checks if package.json version already matches release tag
- Skips redundant
npm versioncommand when versions align - Better error handling and status reporting during publish
What's Included
- ✅ Working Automatic Publishing: Should successfully publish to npm
- ✅ All Previous Features: Device discovery, automation flags, global config
- ✅ Node.js 18+ Support: Dropped Node.js 16 for better compatibility
Install with: npm install -g roku-pkg-cli@1.1.3
Note: This release supersedes v1.1.1 and v1.1.2 which had CI/CD issues.
Fixed Node.js Compatibility Issues
🛠️ Bug Fixes
Node.js Compatibility Fix
- Dropped Node.js 16 support to resolve Jest compatibility issues
- Updated CI workflow to test only on Node.js 18.x and 20.x
- Updated package requirements to Node.js ≥18.0.0
Context
Node.js 16 reached End of Life in April 2023 and Jest 29.x has compatibility issues with it. This release aligns with modern Node.js best practices.
What's Included
- ✅ Working CI/CD Pipeline: Tests now pass on supported Node.js versions
- ✅ Automatic Publishing: This release should successfully auto-publish to npm
- ✅ All Previous Features: Device discovery, automation flags, global config
Install with: npm install -g roku-pkg-cli@1.1.2
Note: This release supersedes v1.1.1 which had CI compatibility issues.
Enhanced CI/CD and Test Improvements
🚀 What's New
Improvements in v1.1.1
- Enhanced GitHub Actions Workflow: Improved automatic npm publishing with better error handling and validation
- Test Infrastructure: Fixed config-manager tests to support global configuration
- CI/CD Reliability: Added pre-publish checks and version synchronization
- Documentation: Comprehensive setup guide for automatic publishing
Key Features
- Device Discovery: Automatically discover Roku devices on your network
- Automation Flags: Support for CI/CD with --discover, --first-device, --password flags
- Global Configuration: CLI now works from any directory with ~/.roku-pkg/config.json
- Home Screen Management: Automatically returns device to home screen after packaging
Automatic Publishing
This release demonstrates the new automatic publishing workflow. When you create a GitHub release, it automatically:
- ✅ Runs all tests
- ✅ Builds the project
- ✅ Publishes to npm registry
- ✅ Reports success/failure
Install with: npm install -g roku-pkg-cli@1.1.1