Skip to content

Latest commit

 

History

History
124 lines (104 loc) · 7.86 KB

File metadata and controls

124 lines (104 loc) · 7.86 KB

Changelog

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.

[0.4.0] - 2025-09-XX - Automated Version handling & validation by GitHub actions

Added

  • 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

Changed

  • Separated Repository Instructions - .github/copilot-instructions.md now contains repository-specific instructions for maintaining the template repository
  • Clarified Template Usage - template.md remains the clean template for ioBroker adapter developers to copy
  • Updated Documentation - README.md now correctly references template.md for 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

Fixed

  • GitHub Copilot Duplicate Execution - Added HTML comment block to template.md to 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.md and template.md were being detected as active instruction files

Enhanced

  • 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

Documentation

  • Version Management Guide - Added comprehensive section explaining the new dynamic version system
  • README.md updated to reference correct template file (template.md instead 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

Added

  • Comprehensive Integration Testing Framework - Official @iobroker/testing framework 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

Enhanced

  • 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

Credits

  • @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

Added

  • 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

Enhanced

  • 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

Documentation

  • 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

Added

  • 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

Documentation

  • Complete setup and integration guide
  • Version management instructions
  • Contributing guidelines
  • Support and community links