Skip to content

Releases: pymodbus-dev/pymodbus

Pymodbus v3.4.1

27 Jul 15:24
Compare
Choose a tag to compare

version 3.4.1

  • Fix serial startup problems. (#1701)
  • pass source_address in tcp client. (#1700)
  • serial server use source_address[0]. (#1699)
  • Examples coverage nearly 100%. (#1694)
  • new async serial (#1681)
  • Docker is not supported (lack of maintainer). (#1693)
  • Forwarder write_coil --> write_coil. (#1691)
  • Change default source_address to (0.0.0.0, 502) (#1690)
  • Update ruff to 0.0.277 (#1689)
  • Fix dict comprehension (#1687)
  • Removed requests dependency from contrib/explain.py (#1688)
  • Fix broken test (#1685)
  • Fix readme badges (#1682)
  • Bump aiohttp from 3.8.3 to 3.8.5 (#1680)
  • pygments from 2.14.0 to 2.15.0 (#1677)

Thanks to:
Alex
James Braza
jan iversen

pymodbus v3.4.0

20 Jul 12:30
Compare
Choose a tag to compare

This release integrates the transport layer into the server, upgrade the simulator and many bug fixes.

  • Prepare v3.4.0.
  • Handle partial local echo. (#1675)
  • clarify handle_local_echo. (#1674)
  • async_client: add retries/reconnect. (#1672)
  • Fix 3.11 problem. (#1673)
  • Add new example simulator server/client. (#1671)
  • examples/contrib/explain.py leveraging Rapid SCADA (#1665)
  • _logger missed basicConfig. (#1670)
  • Bug fix for #1662 (#1663)
  • Bug fix for #1661 (#1664)
  • Fix typo in config.rst (#1660)
  • test action_increment. (#1659)
  • test codeql (#1655)
  • mypy complaints. (#1656)
  • Remove self.params from async client (#1640)
  • Drop test of pypy with python 3.8.
  • repair server_async.py (#1644)
  • move common framer to base. (#1639)
  • Restrict Return diag call to bytes. (#1638)
  • use slave= in diag requests. (#1636)
  • transport listen in server. (#1628)
  • CI test.
  • Integrate transport in server. (#1617)
  • fix getFrameStart for ExceptionResponse (#1627)
  • Add min/min to simulator actions.
  • Change to "sync client" in forwarder example (#1625)
  • Remove docker (lack of maintenance). (#1623)
  • Clean defaults (#1618)
  • Reduce CI log with no debug. (#1616)
  • prepare server to use transport. (#1607)
  • Fix RemoteSlaveContext (#1599)
  • Combine stale and lock. (#1608)
  • update pytest + extensions. (#1610)
  • Change version follow PEP 440. (#1609)
  • Fix regression with REPL server not listening (#1604)
  • Remove handler= for server classes. (#1602)
  • Fix write function codes (#1598)
  • transport nullmodem (#1591)
  • move test of examples to subdirectory. (#1592)
  • transport as object, not base class. (#1572)
  • Simple examples. (#1590)
  • transport_connect as bool. (#1587)
  • Prepare dev (#1588)
  • Release corrections. (#1586)

Thanks to:
Alex
Fredo70
Hangyu Fan
James Braza
jan iversen

Pymodbus v3.3.2

21 Jun 14:28
Compare
Choose a tag to compare
  • Fix RemoteSlaveContext (#1599)
  • Change version follow PEP 440. (#1609)
  • Fix regression with REPL server not listening (#1604)
  • Fix write function codes (#1598)
  • Release corrections. (#1586)

Thanks to:
Alex
Fredo70
jan iversen

Pymodbus v3.3.1

05 Jun 18:49
Compare
Choose a tag to compare

Bug fix release !

  • transport fixes and 100% test coverage. (#1580)
  • Delay self.loop until connect(). (#1579)
  • Added mechanism to determine if server did not start cleanly (#1539)
  • Proof transport reconnect works. (#1577)
  • Fix non-shared block doc in config.rst. (#1573)

Thanks to:
Hayden Roche
jan iversen
Philip Couling

pymodbus v3.3.0

02 Jun 13:17
Compare
Choose a tag to compare
  • Stabilize windows tests. (#1567)
  • Bump mypy 1.3.0 (#1568)
  • Transport integrated in async clients. (#1541)
  • Client async corrections (due to 3.1.2) (#1565)
  • Server_async[udp], solve 3.1.1 problem. (#1564)
  • Remove ModbusTcpDiagClient. (#1560)
  • Remove old method from Python2/3 transition (#1559)
  • Switch to ruff's version of bandit (#1557)
  • Allow reading/writing address 0 in the simulator (#1552)
  • Remove references to "defer_start". (#1548)
  • Client more robust against faulty response. (#1547)
  • Fix missing package_data directives for simulator web (#1544)
  • Fix installation instructions (#1543)
  • Solve pytest timeout problem. (#1540)
  • DiagnosticStatus encode missing tuple check. (#1533)
  • test SparseDataStore. (#1532)
  • BinaryPayloadBuilder.to_string to BinaryPayloadBuilder.encode (#1526)
  • Adding flake8-pytest-style` to ruff (#1520)
  • Simplify version management. (#1522)
  • pylint and pre-commit autoupdate (#1519)
  • Add type hint (#1512)
  • Add action to lock issues/PR. (#1508)
  • New common transport layer. (#1492)
  • Solve serial close raise problem.
  • Remove old config values (#1503)
  • Document pymodbus.simulator. (#1502)
  • Refactor REPL server to reduce complexity (#1499)
  • Don't catch KeyboardInterrupt twice for REPL server (#1498)
  • Refactor REPL client to reduce complexity (#1489)
  • pymodbus.server: listen on ID 1 by default (#1496)
  • Clean framer/init.py (#1494)
  • Duplicate transactions in UDP. (#1486)
  • clean ProcessIncommingPacket. (#1491)
  • Enable pyupgrade (U) rules in ruff (#1484)
  • clean_workflow.yaml solve parameter problem.
  • Correct wrong import in test. (#1483)
  • Implement pyflakes-simplify (#1480)
  • Test case for UDP duplicate msg issue (#1470)
  • Test of write_coil. (#1479)
  • Test reuse of client object. (#1475)
  • Comment about addressing when shared=false (#1474)
  • Remove old aliases to OSError (#1473)
  • pymodbus.simulator fixes (#1463)
  • Fix wrong error message with pymodbus console (#1456)
  • update modbusrtuframer (#1435)
  • Server multidrop test.: (#1451)
  • mypy problem ModbusResponse.

Thanks to:
Alex
Christian Krause
corollaries
dhoomakethu
Ghostkeeper
jan iversen
James Braza
Kenny Johansson
Pavel Kostromitinov

pymodbus v3.2.2

21 Mar 09:20
a048116
Compare
Choose a tag to compare

version 3.2.2 (picked from dev, only bugfixes)

  • Add forgotten await

pymodbus v3.2.1

19 Mar 11:27
102e2a3
Compare
Choose a tag to compare

version 3.2.1 (picked from dev, only bugfixes)

  • add missing server.start(). (#1443)
  • Don't publish univeral (Python2 / Python 3) wheels (#1423)
  • Remove unneccesary custom LOG_LEVEL check (#1424)
  • Include py.typed in package (#1422)

Thanks to:
Alex,
jan iversen,
Thijs W

pymodbus v3.2.0

09 Mar 15:50
5dd5576
Compare
Choose a tag to compare

This release changes the development environment, please remember to update requirements and run "precommit --install".

There are smaller API changed, documented in API_CHANGES.rst, as well as 2 new methods to help receive/send values (in contrast to registers).

Changelog:
version 3.2.0

  • Add value <-> registers converter helpers. (#1413)
  • Add pre-commit config (#1406)
  • Make baud rate configurable for examples (#1410)
  • Clean _init and update log module. (#1411)
  • Simulator add calls functionality. (#1390)
  • Add note about not being thread safe. (#1404)
  • Update docker-publish.yml
  • Forward retry_on_empty and retries by calling transaction (#1401)
  • serial sync recv interval (#1389)
  • Add tests for writing multiple writes with a single value (#1402)
  • Enable mypy in CI (#1388)
  • Limit use of Singleton. (#1397)
  • Cleanup interfaces (#1396)
  • Add request names. (#1391)
  • Simulator, register look and feel. (#1387)
  • Fix enum for REPL server (#1384)
  • Remove unneeded attribute (#1383)
  • Fix mypy errors in reactive server (#1381)
  • remove nosec (#1379)
  • Fix type hints for http_server (#1369)
  • Merge pull request #1380 from pymodbus-dev/requirements
  • remove second client instance in async mode. (#1367)
  • Pin setuptools to prevent breakage with Version including "X" (#1373)
  • Lint and type hints for REPL (#1364)
  • Clean mixin execute (#1366)
  • Remove unused setup_commands.py. (#1362)
  • Run black on top-level files and /doc (#1361)
  • repl config path (#1359)
  • Fix NoReponse -> NoResponse (#1358)
  • Make whole main async. (#1355)
  • Fix more typing issues (#1351)
  • Test sync task (#1341)
  • Fixed text in ModbusClientMixin's writes (#1352)
  • lint /doc (#1345)
  • Remove unused linters (#1344)
  • Allow log level as string or integer. (#1343)
  • Sync serial, clean recv. (#1340)
  • Test server task, async completed (#1318)
  • main() should be sync (#1339)
  • Bug: Fixed caused by passing wrong arg (#1336)

Thanks to:
AKJ7,
Alex,
Alex Ruddick,
banana-sun,
cgernert,
Jakob Ruhe,
James Braza,
jan Iversen

v3.1.3

09 Feb 08:48
947281f
Compare
Choose a tag to compare
  • Solve log problem in payload.
  • Fix register type check for size bigger than 3 registers (6 bytes) (#1323)
  • Re-add SQL tests. (#1329)
  • Central logging. (#1324)
  • Skip sqlAlchemy test. (#1325)
  • Solve 1319 (#1320)

pymodbus v3.1.2

29 Jan 16:31
Compare
Choose a tag to compare
  • Update README.rst
  • Correct README link. (#1316)
  • More direct readme links for REPL (#1314)
  • Add classifier for 3.11 (#1312)
  • Update README.rst (#1313)
  • Delete ModbusCommonBlock.png (#1311)
  • Add modbus standard to README. (#1308)
  • fix no auto reconnect after close/connect in TCPclient (#1298)
  • Update examples.rst (#1307)
  • var name clarification (#1304)
  • Bump external libraries. (#1302)
  • Reorganize documentation to make it easier accessible (#1299)
  • Simulator documentation (first version). (#1296)
  • Updated datastore Simulator. (#1255)
  • Update links to pydmodbus-dev (#1291)
  • Change riptideio to pymodbus-dev. (#1292)
  • #1258 Avoid showing unit as a seperate command line argument (#1288)
  • Solve docker cache problem. (#1287)

Thanks to:

Alex,
Alexandre CUER,
dhoomakethu,
jan iversen,
peufeu2