All notable changes to the ioBroker Copilot Instructions template will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Dynamic Version Management System - Comprehensive scripts for automated version handling across all documentation
- Version Extraction Script (
scripts/extract-version.sh) - Dynamically extracts version from template and current dates - Documentation Update Script (
scripts/update-versions.sh) - Automatically updates version references in README.md - Master Version Management (
scripts/manage-versions.sh) - Unified interface for version show/check/sync/update operations - Comprehensive Automated Testing Infrastructure - Complete test framework for all repository scripts with 54 tests (Fixes #16)
- Test Runner (
tests/test-runner.sh) - Main test execution framework with isolated environments and detailed reporting - Script-Specific Test Suites - Dedicated test files for each script covering unit, integration, and error scenarios
- GitHub Actions Workflow (
.github/workflows/test-scripts.yml) - Automated CI/CD testing on push, PRs, and scheduled runs - Testing Documentation (
TESTING.md) - Comprehensive guide for test framework usage and maintenance - Test Coverage - 9 tests for extract-version.sh, 13 for manage-versions.sh, 11 for update-versions.sh, 11 for check-template-version.sh, 10 integration tests
- Test Runner (
- Separated Repository Instructions -
.github/copilot-instructions.mdnow contains repository-specific instructions for maintaining the template repository - Clarified Template Usage -
template.mdremains the clean template for ioBroker adapter developers to copy - Updated Documentation - README.md now correctly references
template.mdfor adapter developers - Improved Repository Focus - Repository-specific copilot instructions focus on template maintenance, quality assurance, and community contribution guidelines
- Fixed Version Consistency - Updated template.md from 0.3.0 to 0.3.1 to match repository development version
- GitHub Copilot Duplicate Execution - Added HTML comment block to
template.mdto prevent GitHub Copilot from processing it as active instructions (Fixes #11) - Template Installation Process - Updated README.md and version check script with sed commands to remove template comment block during installation
- Copilot Processing Conflict - Resolved issue where both
.github/copilot-instructions.mdandtemplate.mdwere being detected as active instruction files
- Eliminated Static Version References - All version numbers and dates are now dynamically generated from template source
- Cross-Documentation Consistency - Automated validation ensures all files reference the same version
- Date Management - Automatic current date insertion eliminates stale date references (e.g., "January 2025" → current month/year)
- Automated Testing Requirements - Updated Copilot instructions with mandatory testing guidelines for new functionality
- Quality Assurance Through Testing - Comprehensive test coverage prevents regressions and ensures script reliability
- CI/CD Integration - Automated testing on all repository changes maintains code quality
- Version checking script continues to work with new structure
- Clear separation between template maintenance (this repository) and adapter development (template usage)
- Better documentation workflow for template contributors vs adapter developers
- Version Management Guide - Added comprehensive section explaining the new dynamic version system
- README.md updated to reference correct template file (
template.mdinstead of.github/copilot-instructions.md) - Download URLs updated throughout documentation
- Version checking script updated to reference correct remote template
- Detailed usage instructions for all new version management scripts
0.3.0 - 2025-01-XX
- Comprehensive Integration Testing Framework - Official
@iobroker/testingframework guidelines based on lessons learned from @ticaki - Testing Both Success AND Failure Scenarios - Added examples for testing error conditions and invalid configurations
- 7 Key Integration Testing Rules - Mandatory rules for proper adapter integration testing
- CI/CD Workflow Dependencies - Proper job sequencing for integration tests
- What NOT to Do vs What TO Do - Clear guidance sections with specific examples
- Integration testing section completely rewritten with official framework requirements
- Added comprehensive examples for both positive and negative test scenarios
- Improved error handling validation in integration tests
- Added proper failure scenario testing patterns
- @ticaki for providing comprehensive lessons learned and best practices for ioBroker integration testing
- Community feedback integration for enhanced testing methodology
0.2.0 - 2025-01-08
- API Testing with Credentials comprehensive section with password encryption methodology
- Password encryption implementation using ioBroker's XOR cipher with system secret
- Demo credentials testing patterns for API endpoint validation
- Enhanced test failure handling with clear, actionable error messages
- Mandatory README update requirements for every PR/feature
- Standardized documentation workflow with WORK IN PROGRESS section format
- CI/CD integration patterns for separate credential testing jobs
- GitHub Actions workflow examples for API connectivity testing
- Extended timeout recommendations for API calls (120+ seconds)
- Package.json script integration guidance for credential testing
- Integration testing section with detailed credential testing methodology
- Documentation standards with mandatory PR update requirements
- Error handling patterns with specific examples for API testing
- Testing framework guidance with practical code examples
- Comprehensive password encryption algorithm with step-by-step implementation
- Clear success/failure criteria patterns for API testing
- CI/CD best practices for external API dependencies
- Enhanced documentation workflow standards and requirements
0.1.0 - 2025-01-08
- Initial release of the ioBroker Copilot Instructions template for community review
- Comprehensive README.md with repository goals and usage instructions
- Template file (
.github/copilot-instructions.md) with best practices for:- Testing guidelines using Jest framework (includes example data for offline API/device testing)
- README standards and documentation patterns (includes WORK IN PROGRESS section handling)
- Dependency management best practices (includes npm install sync requirement)
- JSON-Config admin interface guidelines (includes translation requirements)
- HTTP client recommendations (fetch over axios)
- Error handling patterns (includes user-friendly error messages and timer cleanup)
- Code style and standards
- Template example file (
template.md) for easy copying - Versioning system for template validation
- Integration instructions with merge recommendation instead of copy/paste
- GitHub Actions workflow example for automated template version checking
- Links to ioBroker project and community resources
- Complete setup and integration guide
- Version management instructions
- Contributing guidelines
- Support and community links