Skip to content

[deps] Upgrade PyModbus and migrate the application API #16

Closed

Description

@gavinying

Background

The project currently pins PyModbus 3.6.9 in pyproject.toml and requirements.txt. The simulator uses PyModbus APIs that changed in later releases, including datastore contexts and framer classes, so this requires a compatibility migration rather than a version-only bump.

Scope

  • Identify the latest stable PyModbus release compatible with the project's supported Python range (>=3.10,<4.0).
  • Upgrade the PyModbus constraint and regenerate the lock/exported requirements without changing unrelated dependencies.
  • Migrate the simulator to the selected release's supported APIs.
  • Preserve CLI behavior, datastore contents/address ranges, and TCP, UDP, TLS, serial, and framer selection behavior.
  • Add or update regression coverage where the migration changes behavior, especially for supported transports and clean server shutdown.

Acceptance criteria

  • The selected PyModbus version and its Python compatibility are documented in the change.
  • pyproject.toml, poetry.lock, and requirements.txt agree on the dependency version.
  • The existing tests and make check pass.
  • The tox matrix passes on Python 3.10, 3.11, 3.12, 3.13, and 3.14.
  • No unrelated dependency upgrades are included.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions