Pymodbus Versions Save

A full modbus protocol written in python

v3.6.8

1 month ago
  • Allow socket exception response with wrong length

v3.6.7

1 month ago

Solve problems with Home Assistant 2024.4.x modbus integration !!!

Include PRs from dev that do not have API changes.

  • Add lock to async requests, correct logging and length calc. (FIX, not on dev)
  • test_simulator: use unused_tcp_port fixture (#2141)
  • streamline imports in Factory.py (#2140)
  • Secure testing is done with pymodbus in PR. (#2136)
  • Fix link to github in README (#2134)
  • Wildcard exception catch from pyserial. (#2125)
  • Problem with stale CI. (#2117)
  • Add connection exception to list of exceptions catpured in retries (#2113)
  • Move on_reconnect to client level (#2111)
  • Bump github stale. (#2110)
  • update package_test_tool (add 4 test scenarios) (#2107)
  • Bump dependencies. (#2108)
  • Cancel send if no connection. (#2103)

v3.6.6

2 months ago

Version 3.6.6

  • Solve transport close() as not inherited method. (#2098)
  • enable mypy --check-untyped-defs (#2096)
  • Add get_expected_response_length to transaction.
  • Remove control encode in framersRemove control encode in framers. (#2095)
  • Bump codeql in CI to v3. (#2093)
  • Improve server types (#2092)
  • Remove pointless try/except (#2091)
  • Improve transport types (#2090)
  • Use explicit ValueError when called with incorrect function code (#2089)
  • update message tests (incorporate all old tests). (#2088)
  • Improve simulator type hints (#2084)
  • Cleanup dead resetFrame code (#2082)
  • integrate message.encode() into framer.buildPacket. (#2062)
  • Repair client close() (intern= is needed for ModbusProtocol). (#2080)
  • Updated Message_Parser example (#2079)
  • Fix #2069 use released repl from pypi (#2077)
  • Fix field encoding of Read File Record Response (#2075)
  • Improve simulator types (#2076)
  • Bump actions. (#2071)

v3.6.5

2 months ago

Changes:

  • Update framers to ease message integration (only decode/encode) (#2064)
  • Add negtive acknowledge to modbus exceptions (#2065)
  • add Message Socket/TLS and amend tests. (#2061)
  • Improve factory types (#2060)
  • ASCII. (#2054)
  • Improve datastore documentation (#2056)
  • Improve types for messages (#2058)
  • Improve payload types (#2057)
  • Reorganize datastore inheritance (#2055)
  • Added new message (framer) raw + 100%coverage. (#2053)
  • message classes, first step (#1932)
  • Use AbstractMethod in transport. (#2051)
  • A datastore for each slave. (#2050)
  • Only run coverage in ubuntu / python 3.12 (#2049)
  • Replace lambda with functools.partial in transport. (#2047)
  • Move self.loop in transport to init() (#2046)
  • Fix decoder bug (#2045)
  • Add support for server testing in package_test_tool. (#2044)
  • DictTransactionManager -> ModbusTransactionManager (#2042)
  • eliminate redundant server_close() (#2041)
  • Remove reactive server (REPL server). (#2038)
  • Improve types for client (#2032)
  • Improve HTTP server type hints (#2035)
  • eliminate asyncio.sleep() and replace time.sleep() with a timeout (#2034)
  • Use "new" inter_byte_timeout and is_open for pyserial (#2031)
  • Add more type hints to datastore (#2028)
  • Add more framer tests, solve a couple of framer problems. (#2024)
  • Rework slow tests (use NULL_MODEM) (#1995)
  • Allow slave=0 in serial communication. (#2023)
  • Client package test tool. (#2022)
  • Add REPL documentation back with links to REPL repo (#2017)
  • Move repl to a seperate repo (#2009)
  • solve more mypy issues with client (#2013)
  • solve more mypy issues with datastore (#2010)
  • Remove useless. (#2011)
  • streamline transport tests. (#2004)
  • Improve types for REPL (#2007)
  • Specify more types in base framer (#2005)
  • Move htmlcov -> build/cov (#2003)
  • Avoid pylint complain about lambda. (#1999)
  • Improve client types (#1997)
  • Fix setblocking call (#1996)
  • Actívate warnings in pytest. (#1994)
  • Add profile option to pytest. (#1991)
  • Simplify message tests (#1990)
  • Upgrade pylint and ruff (#1989)
  • Add first architecture document. (#1988)
  • Update CONTRIBUTING.rst.
  • Return None for broadcast. (#1987)
  • Make ModbusClientMixin Generic to fix type issues for sync and async (#1980)
  • remove strange None default (#1984)
  • Fix incorrect bytearray type hint in diagnostics query (#1983)
  • Fix URL to CHANGELOG (#1979)
  • move server_hostname to be local in tls client. (#1978)
  • Parameter "strict" is and was only used for serial server/client. (#1975)
  • Removed unused parameter close_comm_on_error. (#1974)

v3.6.4

3 months ago
  • Update datastore_simulator example with client (#1967)
  • Test and correct receiving more than one packet (#1965)
  • Remove unused FifoTransactionManager. (#1966)
  • Always set exclusive serial port access. (#1964)
  • Add server/client network stub, to allow test of network packets. (#1963)
  • Combine conftest to a central file (#1962)
  • Call on_reconnect_callback. (#1959)
  • Readd ModbusBaseClient to external API.
  • Update README.rst
  • minor fix for typo and consistency (#1946)
  • More coverage. (#1947)
  • Client coverage 100%. (#1943)
  • Run coverage in CI with % check of coverage. (#1945)
  • transport 100% coverage. (#1941)
  • contrib example: TCP drainage simulator with two devices (#1936)
  • Remove "pragma no cover". (#1935)
  • transport_serial -> serialtransport. (#1933)
  • Fix behavior after Exception response (#1931)
  • Correct expected length for udp sync client. (#1930)

v3.6.3

4 months ago
  • solve Socket_framer problem with Exception response (#1925)
  • Allow socket frames to be split in multiple packets (#1923)
  • Reset frame for serial connections.
  • Source address None not 0.0.0.0 for IPv6
  • Missing Copyright in License file
  • Correct wrong url to modbus protocol spec.
  • Fix serial port in TestComm.

v3.6.2

5 months ago

v.3.6.0 with pypi upload solved, and documentation set at correct version

v3.6.1

5 months ago
  • Solve pypi upload error.

v3.6.0

5 months ago

Version 3.6.0

  • doc: Fix a code mismatch in client.rst
  • Update README.
  • truncated duration to milliseconds
  • Update examples for current dev.
  • Ignore all remaining implicit optional (#1888)
  • docstring
  • Remove unnecessary abort() call
  • Enable RUF013 (implicit optional) (#1882)
  • Support aiohttp 3.9.0b1 (#1886)
  • Actually perform aiohttp runner teardown
  • Pin to working aiohttp (#1884)
  • Docstring typo cleanup (#1879)
  • Clean client API imports. (#1819)
  • Update issue template.
  • Eliminiate implicit optional in reconnect_delay* (#1874)
  • Split client base in sync/async version (#1878)
  • Rework host/port and listener setup (#1866)
  • use baudrate directly (#1872)
  • Eliminate more implicit optional (#1871)
  • Fix serial server args order (#1870)
  • Relax test task/thread checker. (#1867)
  • Make doc link references version dependent. (#1864)
  • Remove pre-commit (#1860)
  • Ruff reduce ignores. (#1862)
  • Bump ruff to 0.1.3 and remove ruff.toml (#1861)
  • More elegant noop. (#1859)
  • Cache (#1829)
  • Eliminate more implicit optional (#1858)
  • Ignore files downloaded by pytest (#1857)
  • Avoid malicious user path input (#1855)
  • Add more return types to transport (#1852)
  • Do not attempt to close an already-closed serial connection (#1853)
  • Fix stopbits docstring typo (#1850)
  • Convert type hints to PEP585 (#1846)
  • Eliminate even more implicit optional (#1845)
  • Eliminate more implicit optionals in client (#1844)
  • Eliminate implicit optional in transport_serial (#1843)
  • Make client type annotations compatible with async client usage (#1842)
  • Merge pull request #1838 from pymodbus-dev/ruff
  • Eliminate implicit optional in simulator (#1841)
  • eliminate implicit optional for callback_disconnected (#1840)
  • pre-commit run --all-files
  • Update exclude paths
  • Replace black with ruff
  • Use other dependency groups for 'all' (#1834)
  • Cleanup author/maintainer fields (#1833)
  • Consistent messages if imports fail (#1831)
  • Client/Server framer as enum. (#1822)
  • Solve relative path in examples. (#1828)
  • Eliminate implicit optional for CommParams types (#1825)
  • Add 3.12 classifier (#1826)
  • Bump actions/stale to 8.0.0 (#1824)
  • Cleanup paths included in mypy/pylint (#1823)
  • Client documentation amended and updated. (#1820)
  • Import aiohttp in way pleasing mypy. (#1818)
  • Update doc, remove md files. (#1814)
  • Bump dependencies. (#1816)
  • Solve pylint / pytest.
  • fix pylint.
  • Examples are without parent module.
  • Wrong zip of examples.
  • Serial delay (#1810)
  • Add python 3.12. (#1800)
  • Release errors (pyproject.toml changes). (#1811)

v3.5.4

7 months ago

Version 3.5.4

  • Release errors (pyproject.toml changes). (#1811)