Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,25 @@
- **Lint/format**: `ruff format --check src/ tests/ examples/` (use `ruff format ...` to auto-format)
- **CI-compatible linting**: `make ci-lint` (run before finalizing changes to ensure CI will pass)
- **CI-compatible formatting**: `make ci-format` (auto-fix formatting issues)
- **Type checking**: `python3 -m mypy src/nwp500 --config-file pyproject.toml` (static type analysis)
- **Build docs**: `tox -e docs` (Sphinx docs in `docs/`)
- **Preview docs**: `python3 -m http.server --directory docs/_build/html`

### Before Committing Changes
Always run `make ci-lint` before finalizing changes to ensure your code will pass CI checks. This runs the exact same linting configuration as the CI pipeline, preventing "passes locally but fails in CI" issues.
Always run these checks before finalizing changes to ensure your code will pass CI:
1. **Linting**: `make ci-lint` - Ensures code style matches CI requirements
2. **Type checking**: `python3 -m mypy src/nwp500 --config-file pyproject.toml` - Catches type errors
3. **Tests**: `pytest` - Ensures functionality isn't broken

This prevents "passes locally but fails in CI" issues.

### After Completing a Task
Always run these checks after completing a task to validate your changes:
1. **Type checking**: `python3 -m mypy src/nwp500 --config-file pyproject.toml` - Verify no type errors were introduced
2. **Linting**: `make ci-lint` - Verify code style compliance
3. **Tests** (if applicable): `pytest` - Verify functionality works as expected

Report the results of these checks in your final summary.

## Patterns & Conventions
- **Async context managers** for authentication: `async with NavienAuthClient(email, password) as auth_client:`
Expand All @@ -44,6 +58,22 @@ Always run `make ci-lint` before finalizing changes to ensure your code will pas
- If tests hang, check network connectivity and API endpoint status
- For MQTT, ensure AWS credentials are valid and endpoint is reachable

## Communication Style
- **Progress updates**: Save summaries for the end of work. Don't provide interim status reports.
- **Final summaries**: Keep them concise. Example format:
```
## Final Results
**Starting point:** X errors
**Ending point:** 0 errors ✅
**Tests:** All passing ✓

## What Was Fixed
- Module 1 - Brief description (N errors)
- Module 2 - Brief description (N errors)
```
- **No markdown files**: Don't create separate summary files. Provide summaries inline when requested.
- **Focus on execution**: Perform the work, then summarize results at the end.

---

If any section is unclear or missing important project-specific details, please provide feedback so this guide can be improved for future AI agents.
122 changes: 0 additions & 122 deletions BREAKING_CHANGES_V3.md

This file was deleted.

20 changes: 20 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,32 @@
Changelog
=========

Version 3.0.0 (Unreleased)
==========================

**Breaking Changes**

- **REMOVED**: ``OperationMode`` enum has been removed

- This enum was deprecated in v2.0.0 and has now been fully removed
- Use ``DhwOperationSetting`` for user-configured mode preferences (values 1-6)
- Use ``CurrentOperationMode`` for real-time operational states (values 0, 32, 64, 96)
- Migration was supported throughout the v2.x series

- **REMOVED**: Migration helper functions and deprecation infrastructure

- Removed ``migrate_operation_mode_usage()`` function
- Removed ``enable_deprecation_warnings()`` function
- Removed migration documentation files (MIGRATION.md, BREAKING_CHANGES_V3.md)
- All functionality available through ``DhwOperationSetting`` and ``CurrentOperationMode``

Version 2.0.0 (Unreleased)
==========================

**Breaking Changes (Planned for v3.0.0)**

- **DEPRECATION**: ``OperationMode`` enum is deprecated and will be removed in v3.0.0


- Use ``DhwOperationSetting`` for user-configured mode preferences (values 1-6)
- Use ``CurrentOperationMode`` for real-time operational states (values 0, 32, 64, 96)
Expand Down
Loading