Skip to content

Refactor AutoConnectPlus plugin for readability and functionality - #7

Merged
Ajimaru merged 2 commits into
mainfrom
dev
Jul 30, 2026
Merged

Refactor AutoConnectPlus plugin for readability and functionality#7
Ajimaru merged 2 commits into
mainfrom
dev

Conversation

@Ajimaru

@Ajimaru Ajimaru commented Jul 30, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a continuous integration (CI) workflow, improves documentation, and makes several compatibility and metadata updates for the plugin. The most important changes are summarized below.

Continuous Integration and Testing:

  • Added a new GitHub Actions workflow (.github/workflows/ci.yaml) that runs linting (using ruff) and unit tests against multiple Python and OctoPrint versions, including both stable and prerelease OctoPrint 2.x. This ensures code quality and compatibility across supported environments.

Documentation Improvements:

  • Enhanced the README.md with a CI status badge, clearer installation instructions, troubleshooting and development sections, and improved configuration guidance for both the UI and config.yaml. [1] [2] [3] [4] [5]
  • Updated extras/autoconnectplus.md to clarify plugin capabilities, supported platforms, configuration, and requirements; streamlined tags and compatibility information.

Release Workflow and Compatibility:

  • Adjusted the release workflow so the rolling latest release is always marked as a prerelease, ensuring it does not shadow actual stable releases in the GitHub API.
  • Updated comments in the release workflow to reflect that the plugin now works around OctoPrint 2.0.0rc* circular-import issues, but keeps prerelease tests non-blocking until 2.0 is stable.

Codebase Updates and Refactoring:

  • Improved type annotations and imports in octoprint_autoconnectplus/__init__.py, added ShutdownPlugin and SimpleApiPlugin mixins, and made the connector import logic more robust to OctoPrint 2.0 circular-import issues. [1] [2] [3] [4]

These changes collectively improve the project's maintainability, compatibility, and developer experience.

Ajimaru added 2 commits July 2, 2026 23:40
…ality

- Updated type hints to use built-in types for better compatibility.
- Simplified serial port resolution logic and improved forced port handling.
- Enhanced failure tracking and backoff mechanisms for connection attempts.
- Added a simple API endpoint to serve detected connection details.
- Refactored settings handling to use custom bindings in the frontend.
- Introduced unit tests for comprehensive coverage of plugin functionality.
- Updated dependencies in pyproject.toml for development tools.
@Ajimaru Ajimaru added documentation Improvements or additions to documentation enhancement New feature or request fix Bug fix labels Jul 30, 2026
@Ajimaru
Ajimaru merged commit eda8cb6 into main Jul 30, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant