Skip to content

Releases: pymodbus-dev/pymodbus

pymodbus v3.8.6

10 Feb 11:52
Compare
Choose a tag to compare
  • Allow id=0 and check if response.id == request.id. (#2572)

It turns out that not allowing id=0 was too restrictive, instead now requests with id=0 is allowed provided the device responds with id=0.

pymodbus v3.8.5

09 Feb 12:56
Compare
Choose a tag to compare
  • New simulator is WIP, not to be used. (#2568)
  • dev_id=0 no response expected (returns ExceptionResponse(0xff)). (#2567)
  • New simulator datastore. (#2535)

pymodbus v3.8.4

08 Feb 18:17
Compare
Choose a tag to compare
  • Parameterize string encoding in convert_to_registers and convert_from_registers (#2558)
  • Fix client modbus function calls in remote by adding count as keyword argument (#2563)
  • Fix exception text in ModbusPDU.validateAddress (#2551)
  • Typo arround no_response_expected (#2550)
  • Trace new connection in server. (#2549)
  • Add trace to server.
  • Update misleading DATATYPE text. (#2547)
  • Fix pylint.
  • Clarify server usage.
  • Solve instable transaction testing. (#2538)

v3.8.3

05 Jan 20:37
Compare
Choose a tag to compare

Bug fix release, and remove the deprecated tag on payload.

The main goals have changed, please see https://pymodbus.readthedocs.io/en/latest/source/roadmap.html

For details on the payload decoder/encoder please see #2525

Changes:

  • Remove deprecate from payload. (#2532)
  • Add background parameter to servers. (#2529)
  • Split async_io.py and simplify server start/stop. (#2528)
  • Update custom_msg example to include server. (#2527)
  • Move repl doc to repl repo. (#2522)
  • Add API to set max until disconnect. (#2521)

Pymodbus v3.8.2

20 Dec 08:49
Compare
Choose a tag to compare
  • Asyncio future removed from sync client. (#2514)

Pymodbus v3.8.1

18 Dec 18:06
Compare
Choose a tag to compare
  • Convert endianness (#2506)
  • Fix sync serial client, loop. (#2510)
  • Correct future. (#2507)
  • Correct #2501 (#2504)
  • Raise exception on no response in async client. (#2502)
  • re-instatiate Future on reconnect (#2501)
  • Remove all trailing zeroes during string decoding (#2493)
  • Fix too many sync client log messages. (#2491)

Pymodbus v3.8.0

07 Dec 15:49
Compare
Choose a tag to compare

This is the biggest release since 3.0.0, it contains:

  • new framer concept (utility class instead of direct)
  • new much simpler transactionManager
  • trace methods to trace/modify incoming/outgoing byte streams as well as PDUs
  • A lot of bug fixes

Version 3.8.0

  • slave_id -> dev_id (internally). (#2486)
  • Pin python 3.13.0 and update ruff. (#2487)
  • Add documentation link to README. (#2483)
  • Add datatype bits to convert_to/from_registers. (#2480)
  • Add trace API to server. (#2479)
  • Add trace API for client. (#2478)
  • Integrate TransactionManager in server. (#2475)
  • Rename test/sub_. (#2473)
  • Check server closes file descriptors. (#2472)
  • Update http_server.py (#2471)
  • Restrict write_registers etc to list[int]. (#2469)
  • Write_registers/pdu typing again. (#2468)
  • Remove ModbusExceptions enum. (#2467)
  • Add special ssl socket handling of "no data". (#2466)
  • Add tip that values= will be modified to list[int]. (#2465)
  • client 100% test coverage (#2396)
  • Extend TransactionManager to handle sync. (#2457)
  • Add convert_from to simple examples. (#2458)
  • New async transaction manager. (#2453)
  • Deprecate BinaryPayloadDecoder / BinaryPayloadBuilder. (#2456)
  • Correct close for server transport. (#2455)
  • RTU frame problem, when received split. (#2452)
  • pdu, 100% coverage. (#2450)
  • Refactor PDU, add strong typing to base classes. (#2438)
  • Enforce keyword only parameters. (#2448)
  • Fix read_device_information with sync client. (#2441)
  • Simplify syncTransactionManager. (#2443)
  • Import examples direct. (#2442)
  • rename ModbusExceptions enums to legal constants. (#2436)
  • Add typing to examples. (#2435)
  • Refactor PDU diag. (#2421)
  • Fix client lock, Parallel API calls are not permitted. (#2434)
  • Ensure accept_no_response_limit > retries. (#2433)
  • Check client and frametype. (#2426)
  • Add MDAP to TLS frame. (#2425)
  • Clean/Finalize testing for bit functions. (#2420)
  • Simplify pdu bit, remove skip_encode. (#2417)
  • remove zero_mode parameter. (#2354)
  • Prepare refactor messages. (#2416)
  • Fixed handle local echo in serialserver (#2415)
  • Correct minor framer/pdu errors. (#2407)
  • Rtu decode frames without byte count. (#2412)
  • Improve type of parameter values of write_registers (#2411)
  • PDU lookupClass work with sub function code. (#2410)
  • Correct wait_next_api link in README. (#2406)

Pymodbus v3.7.4

22 Oct 10:23
Compare
Choose a tag to compare

Version v3.7.3 contains a critical bug, that makes the sync. client disconnect/connect with every request, thus adding a large delay.

  • Clean PDU init. (#2399)
  • Wrong close, when transaction do not match. (#2401)
  • Remove unmaintained (not working) example contributions. (#2400)
  • All pdu (incl. function code) tests to pdu directory. (#2397)
  • Add no_response_expected argument to requests (#2385)
  • Resubmit: Don't close/reopen tcp connection on single modbus message timeout (#2350)
  • 100% test coverage for PDU. (#2394)
  • Type DecodePDU. (#2392)
  • Update to use DecodePDU. (#2391)
  • Client/Server decoder renamed and moved to pdu. (#2390)
  • Move client/server decoder to pdu. (#2388)
  • Introducing PyModbus Guru on Gurubase.io (#2387)
  • Remove IllegalFunctionRequest. (#2384)
  • remove ModbusResponse. (#2383)
  • Add typing to pdu base classes. (#2380)
  • Updated roadmap.
  • remove databuffer from framer. (#2379)
  • Improve retries for sync client. (#2377)
  • Move process test to framer tests (#2376)
  • Framer do not check ids (#2375)
  • Remove callback from framer. (#2374)
  • Auto fill device ids for clients. (#2372)
  • Reenable multidrop tests. (#2370)
  • write_register/s accept bytes or int. (#2369)
  • roadmap corrections.
  • Added roadmap (not written in stone). (#2367)
  • Update README to show python 3.13.
  • Test on Python 3.13 (#2366)
  • Use @AbstractMethod (#2365)
  • Corrected smaller documentation bugs. (#2364)
  • README as landing page in readthedocs. (#2363)

Pymodbus v3.7.3

09 Oct 09:40
Compare
Choose a tag to compare

Bug fix release and framers updated.

Details:

  • Readme file renamed (#2357)
  • Remove old framers (#2358)
  • frameProcessIncomingPacket removed (#2355)
  • Cleanup framers (reduce old_framers) (#2342)
  • Run CI on PR targeted at wait_next_api.
  • Sync client, allow unknown recv msg size. (#2353)
  • integrate old rtu framer in new framer (#2344)
  • Update README.rst (#2351)
  • Client.close should not allow reconnect= (#2347)
  • Remove async client.idle_time(). (#2349)
  • Client doc, add common methods (base). (#2348)
  • Reset receive buffer with send(). (#2343)
  • Remove unused protocol_id from pdu (#2340)
  • CI run on demand on non-protected branches. (#2339)
  • Server listener and client connections have is_server set. (#2338)
  • Reopen listener in server if disconnected. (#2337)
  • Regroup test. (#2335)
  • Improve docs around sync clients and reconnection (#2321)
  • transport 100% test coverage (again) (#2333)
  • Update actions to new node.js. (#2332)
  • Bump 3rd party (#2331)
  • Documentation on_connect_callback (#2324)
  • Fixes the unexpected implementation of the ModbusSerialClient.connected property (#2327)
  • Forward error responses instead of timing out. (#2329)
  • Add stacklevel=2 to logging functions (#2330)
  • Fix encoding & decoding of ReadFileRecordResponse (#2319)
  • Improvements for example/contib/solar (#2318)
  • Update solar.py (#2316)
  • Remove double conversion in int (#2315)
  • Complete pull request #2310 (#2312)
  • fixed type hints for write_register and write_registers (#2309)
  • Remove _header from framers. (#2305)

pymodbus v3.7.2

27 Aug 10:42
Compare
Choose a tag to compare

v3.7.1 had wrong documentation.

  • Correct README
  • Rename branch wait3.8.0 to wait_next_API