Files
LEDMatrix/docs/MIGRATION_GUIDE.md
Chuck 4a63ff87cb Feature/soccer scroll support (#186)
* fix: Use plugin.modes instead of manifest.json for available modes

- Display controller now checks plugin_instance.modes first before falling back to manifest
- This allows plugins to dynamically provide modes based on enabled leagues
- Fixes issue where disabled leagues (WNBA, NCAAW) appeared in available modes
- Plugins can now control their available modes at runtime based on config

* fix: Handle permission errors when removing plugin directories

- Added _safe_remove_directory() method to handle permission errors gracefully
- Fixes permissions on __pycache__ directories before removal
- Updates uninstall_plugin() and install methods to use safe removal
- Resolves [Errno 13] Permission denied errors during plugin install/uninstall

* debug(display): Change FPS check logging from debug to info level

- Change FPS check log from DEBUG to INFO to help diagnose scrolling FPS issues
- Add active_mode to log message for clarity
- Helps identify if plugins are being detected for high-FPS mode

* debug(display): Add logging for display_interval in both FPS loops

- Log display_interval when entering high-FPS and normal loops
- Shows expected FPS for high-FPS mode
- Helps diagnose why news ticker shows 50 FPS despite high-FPS detection

* feat: Update soccer-scoreboard submodule with scroll display support

- Submodule now includes full feature parity with football-scoreboard
- Granular display modes for 8 leagues (24 total modes)
- Scroll display mode with game_renderer.py and scroll_display.py
- League registry system with enabled state filtering
- Modernized config_schema.json with per-league scroll settings
- League-aware logo caching to prevent collisions
- Pillow 8.x compatibility for image resampling

Submodule branch: feature/football-feature-parity
Commit: e22a16d

* style(web): Update plugin button colors and reorganize documentation

- Change update button color to yellow-600 in installed plugins section to match plugin config page
- Change refresh plugins button color to blue-600 to match restart display button
- Move DEVELOPMENT.md and MIGRATION_GUIDE.md from root to docs/ directory
- Remove IMPACT_EXPLANATION.md and MERGE_CONFLICT_RESOLUTION_PLAN.md

---------

Co-authored-by: Chuck <chuck@example.com>
2026-01-13 13:33:53 -05:00

3.0 KiB

Migration Guide

This guide helps you migrate from older versions of LEDMatrix to the latest version.

Breaking Changes

Script Path Reorganization

Scripts have been reorganized into subdirectories for better organization. If you have automation, cron jobs, or custom tooling that references old script paths, you must update them.

Installation Scripts

All installation scripts have been moved from the project root to scripts/install/:

Old Path New Path
install_service.sh scripts/install/install_service.sh
install_web_service.sh scripts/install/install_web_service.sh
install_wifi_monitor.sh scripts/install/install_wifi_monitor.sh
setup_cache.sh scripts/install/setup_cache.sh
configure_web_sudo.sh scripts/install/configure_web_sudo.sh
migrate_config.sh scripts/install/migrate_config.sh

Permission Fix Scripts

All permission fix scripts have been moved to scripts/fix_perms/:

Old Path New Path
fix_assets_permissions.sh scripts/fix_perms/fix_assets_permissions.sh
fix_cache_permissions.sh scripts/fix_perms/fix_cache_permissions.sh
fix_plugin_permissions.sh scripts/fix_perms/fix_plugin_permissions.sh
fix_web_permissions.sh scripts/fix_perms/fix_web_permissions.sh

Action Required

  1. Update cron jobs: If you have any cron jobs that call these scripts, update the paths.
  2. Update automation scripts: Any custom scripts or automation that references the old paths must be updated.
  3. Update documentation: Update any internal documentation or runbooks that reference these scripts.

Example Updates

Before:

# Old cron job or script
0 2 * * * /path/to/LEDMatrix/fix_cache_permissions.sh
sudo ./install_service.sh

After:

# Updated paths
0 2 * * * /path/to/LEDMatrix/scripts/fix_perms/fix_cache_permissions.sh
sudo ./scripts/install/install_service.sh

Verification

After updating your scripts, verify they still work:

# Test installation scripts (if needed)
ls scripts/install/*.sh
sudo ./scripts/install/install_service.sh --help

# Test permission scripts
ls scripts/fix_perms/*.sh
sudo ./scripts/fix_perms/fix_cache_permissions.sh

Other Changes

Configuration File Location

No changes to configuration file locations. The configuration system remains backward compatible.

Plugin System

The plugin system has been enhanced but remains backward compatible with existing plugins.


Getting Help

If you encounter issues during migration:

  1. Check the README.md for current installation and usage instructions
  2. Review script README files:
    • scripts/install/README.md - Installation scripts documentation
    • scripts/fix_perms/README.md (if exists) - Permission scripts documentation
  3. Check system logs: journalctl -u ledmatrix -f or journalctl -u ledmatrix-web -f
  4. Review the troubleshooting section in the main README